容器的常用操作

docker run -i -t  /bin/bash

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

实例:

  1. $ docker run -it ubuntu /bin/bash    

  2. root@946be96acd5f:/#      

  3. root@946be96acd5f:/# exit    

  4. exit  

exit后容器将不在运行

docker start -i

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

实例:

  1. # docker ps -a    

  2. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES    

  3. 648944eeef8a        ubuntu              "/bin/bash"         8 seconds ago       Exited (0) 6 seconds ago                       suspicious_feynman        

  4. root@ubun:~# docker start -i 648944eeef8a    

  5. root@648944eeef8a:/#

docker exec

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

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

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

  1. $ docker exec -it 87cb69be18bb /bin/bash    

docker ps

默认显示正在运行中的container

docker ps –a

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

  1. $ docker ps    

  2. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES    

  3. $ docker ps -a    

  4. CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES    

  5. 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.找出要保存的镜像名称.

  1. $ docker images    

  2. REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE    

  3. memcached         v0.1              291272444a64      7 weeks ago         212 MB

2.备份镜像

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

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

  1. $ docker load < memcached_bak.tar

4.查看镜像

  1. $ docker images    

  2. REPOSITORY        TAG               IMAGE ID          CREATED           VIRTUAL SIZE    

  3. memcached         v0.1              291272444a64      7 weeks ago         212 MB

export

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

  1. $ docker ps|grep memcached

2.备份容器

  1. $ docker export memcached > memcached_bak.tar

3.恢复成镜像

  1. $ docker import memcached_bak.tar memcached

4.查看镜像

  1. $ docker images    

  2. REPOSITORY      TAG             IMAGE ID            CREATED              VIRTUAL SIZE    

  3. memcached      latest           51af4462e58b        About a minute ago      250.5 MB

两者区别

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

未完待续.....

最新文章

  1. HTTP Error 503. The service is unavailable
  2. Linq 中按照多个值进行分组(GroupBy)
  3. oracle添加和查看注释
  4. 【cs229-Lecture16】马尔可夫决策过程
  5. ytu 1910:字符统计(水题)
  6. 阿里云SDK手册之java SDK
  7. 一人一python挑战题解
  8. [LeetCode]题解(python):086 - Partition List
  9. Winform 控件
  10. 转载:Java多线程中join方法的理解
  11. Lowest Bit
  12. Spring注入值得2种方式:属性注入和构造注入
  13. Java数据结构和算法(七)——链表
  14. 【转】动态规划DP
  15. Python基础语法 系统学习
  16. Trivial File Transfer Protocol (TFTP)
  17. qW3xT.2,解决挖矿病毒。
  18. (转)Debian 安装与卸载包命令
  19. http请求在ie中F12查看显示已挂起
  20. 栈帧 2.6. Frames 虚拟机内存模型

热门文章

  1. 自学linux——5.网络设置
  2. 2010 NOIP提高组题解
  3. Java面向对象14——接口
  4. Java面向对象08——继承
  5. 使用PageFactory类封装页面元素,并实现简单的登录
  6. CVE-2021-25646:Apache Druid远程命令执行漏洞复现
  7. 008 PHY(Physical Layer,PHY)
  8. STM32—SPI详解
  9. ECDSA—模乘模块
  10. 题解 marshland