0
点赞
收藏
分享

微信扫一扫

性能环境之docker操作指南4(全网最全)

声明:原创作者独家授权,转载需要保留本公众号信息。


容器的常用操作

docker run -i -t  /bin/bash

使用image创建container并进入交互模式, login shell是/bin/bash

实例:

$ docker run -it ubuntu /bin/bash     
root@946be96acd5f:/#      
root@946be96acd5f:/# exit     
exit

exit后容器将不在运行

docker start -i

启动一个container并进入交互模式

实例:

# docker ps -a     
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES     
648944eeef8a        ubuntu              "/bin/bash"         8 seconds ago       Exited (0) 6 seconds ago                       suspicious_feynman        
root@ubun:~# docker start -i 648944eeef8a    
root@648944eeef8a:/#

docker exec

  1. 通过宿主机在正在运行的容器上执行命令。
    通过宿主机在容器上创建文件

$ docker exec 87cb69be18bb touch /root/abc.txt

  1. 可通过exec命令从正在运行的容器上申请一个终端,执行shell

$ docker exec -it 87cb69be18bb /bin/bash

docker ps

默认显示正在运行中的container

docker ps –a

显示所有的container,包括未运行的 实例:

$ docker ps     
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES     
$ docker ps -a     
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES     
946be96acd5f        ubuntu              "/bin/bash"         About a minute ago   Exited (0) About a minute ago                       thirsty_mclean

docker ps –l

显示最后一次创建的container,包括未运行的

docker start/stop/restart

开启/停止/重启container

docker容器和镜像迁移

docker的备份方式有export和save两种。

  • docker export当前状态的容器,通过docker import进行恢复;
  • docker save针对的是镜像,通过docker load进行恢复。

save

1.找出要保存的镜像名称.

$ docker images     
REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE     
memcached         v0.1              291272444a64      7 weeks ago         212 MB

2.备份镜像

$ docker save memcached:v0.1 >memcached_bak.tar

3.恢复镜像
将镜像scp到目标服务器,恢复镜像

$ docker load < memcached_bak.tar

4.查看镜像

$ docker images     
REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE     
memcached         v0.1              291272444a64      7 weeks ago         212 MB

export

1.找出要保存的容器ID或名称

$ docker ps|grep memcached

2.备份容器

$ docker export memcached > memcached_bak.tar

3.恢复成镜像

$ docker import memcached_bak.tar memcached

4.查看镜像

$ docker images     
REPOSITORY      TAG             IMAGE ID            CREATED              VIRTUAL SIZE     
memcached      latest           51af4462e58b        About a minute ago      250.5 MB

两者区别

导出后再导入(export-import)的镜像会丢失所有的历史和层信息,而保存后再加载(save-load)的镜像没有丢失历史和层 (layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚.


未完待续.....

举报

相关推荐

0 条评论