docker 进阶

  docker 常用命令:

docker  pull hub.c.163.com/library/mysql:latest  #这是从网址下载下来mysql镜像

docker run  -d -p 8888:8080 jpress  #本地888容器里8080 jpress镜像名字  可以用docker ps 查看

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123.Comm -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest  #-e指定mysql参数

vim dockerfile

from hub.c.163.com/library/tomcat:latest

copy jpress.war /usr/local/tomcat/webapp       #这是写下载的javaweb包放到tomcat的webapp做展示,这个路径一般去tomcat的环境变量里查看在哪

docker build -t jpress:latest .   #构建自己镜像,-t 指定名字上传用的

docker exec -it f7 bash  #进入docker里面f7是运行id名字,bash是终端

 curl https://get.docker.com/ | sh      获取最新版docker

 https://c.163.com/hub#/m/home/  网易蜂巢镜像

docker 将容器打包为镜像用

docker commit -m "centos1" -a "aiyamayaThis is a centos1" dfda6efc2cd4

ps: -m:指定行创建的镜像的提交信息  -a 指定作者等信息   dfda6efc2cd4:这个为指定容器id

docker inspect copy #查看新创建镜像的详细信息

让docker容器里的centos7 系统可以上网需要配置如下:

除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。

在启动 Docker 服务的时候,使用 -b BRIDGE--bridge=BRIDGE 来指定使用的网桥。

如果服务已经运行,那需要先停止服务,并删除旧的网桥。

$ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0

然后创建一个网桥 bridge0

$ sudo brctl addbr bridge0
$ sudo ip addr add 192.168.5.1/24 dev bridge0     #这里是设置容器里面可以通过这个网段网桥上网
$ sudo ip link set dev bridge0 up

查看确认网桥创建并启动。

$ ip addr show bridge0
4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
    link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.1/24 scope global bridge0
       valid_lft forever preferred_lft forever

配置 Docker 服务,默认桥接到创建的网桥上。

$ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
$ sudo service docker start

启动 Docker 服务。新建一个容器,可以看到它已经桥接到了 bridge0 上。

可以继续用 brctl show 命令查看桥接的信息。另外,在容器中可以使用 ip addr 和 ip route 命令来查看 IP 地址配置和路由信息。

docker commit -p 30b8f18f20b4 container-backup  #使用docker images 查看快照

该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行 docker images 命令来查看Docker镜像

Docker Login  #登录docker注册中心
1.# docker tag a25ddfec4d2a arunpyasi/container-backup:test           #将镜像打包
2.# docker push arunpyasi/container-backup                     #将镜像上传

docker save -o ~/container-backup.tar container-backup       #将容器以.tar 方式备份到本地  打包完后ls查看即可

docker pull arunpyasi/container-backup:test        #从注册中心拉取下来即可

docker load -i ~/container-backup.tar            #备份到本地的tar包,想运行在docker images里的镜像命令

docker run -d -p 80:80 container-backup    #运行起来该镜像

3. 迁移Docker容器

迁移容器同时涉及到了上面两个操作,备份和恢复。我们可以将任何一个Docker容器从一台机器迁移到另一台机器。在迁移过程中,首先我们将把容器备份为Docker镜像快照。然后,该Docker镜像或者是被推送到了Docker注册中心,或者被作为tar包文件保存到了本地。如果我们将镜像推送到了Docker注册中心,我们简单地从任何我们想要的机器上使用 docker run 命令来恢复并运行该容器。但是,如果我们将镜像打包成tar包备份到了本地,我们只需要拷贝或移动该镜像到我们想要的机器上,加载该镜像并运行需要的容器即可。
最后,我们已经学习了如何快速地备份、恢复和迁移Docker容器,本教程适用于各个可以成功运行Docker的操作系统平台。真的,Docker是一个相当简单易用,然而功能却十分强大的工具。它的命令相当易记,这些命令都非常短,带有许多简单而强大的标记和参数。上面的方法让我们备份容器时很是安逸,使得我们可以在日后很轻松地恢复它们。这会帮助我们恢复我们的容器和镜像,即便主机系统崩溃,甚至意外地被清除

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2015-08/121184.htm

魅力男神
原文地址:https://www.cnblogs.com/capable/p/7130906.html