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

export是当前的状态,针对的是容器,docker save 是针对镜像images。

export

找出要备份容器的ID

[root@wls12c ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
037b847bf093 centos "/bin/bash" minutes ago Exited () minute naughty_davinci

备份

[root@wls12c ~]$ docker export 037b847bf093 >centos_demo.tar
[root@wls12c ~]$ du -sh centos_demo.tar
195M centos_demo.tar

export是把容器打成一个tar包。

恢复

把刚才备份的centos_demo.tar打包到目标服务器

[root@11g ~]$ cat centos_demo.tar |docker import - centos:demo
8962416d1362f289ceb9848e21a95f03dc34eb6f234c8f98f1a6e1ec7fe34a67

查看新生成的镜像

[root@11g ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos demo 8962416d1362 seconds ago 196.7 MB

save

得到镜像名称

[root@wls12c ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest d83a55af4e75 weeks ago 196.7 MB

备份镜像

[root@wls12c ~]$ docker save centos >centos_save.tar

恢复镜像

[root@11g ~]$ docker load <centos_save.tar 

查看恢复的镜像

[root@wls12c ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED
centos latest d83a55af4e75 weeks ago 196.7 MB

两者的区别:

导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层 (layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回 滚(可以执行docker tag <LAYER ID> <IMAGE NAME>来回滚之前的层)。

最新文章

  1. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
  2. OAF通过Iterator标准遍历各行
  3. NSDate获取当前时区的时间
  4. mybatis关联查询,一对一,一对多
  5. 6/14 sprint2 看板和燃尽图的更新
  6. 小例子(二)、winform窗体间的关系
  7. 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
  8. MyBatis主键返回
  9. SVN设置钩子文件限制提交文件时必须填写更新日志
  10. msi软件包无法安装
  11. matlab读取多幅图片,并对读取的图片降采样和双三次插值
  12. BZOJ 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富( dp )
  13. Linux设置全局代理与yum代理
  14. OC在终端编写和运行
  15. postgres 9.5 FDW变化
  16. 浏览器抓包(post)
  17. 学习 JavaScript (六)核心概念:函数
  18. VO、AO、执行环境和作用域链
  19. Vue.$nextTick
  20. C# WPF 父控件通过使用可视化树找到子控件

热门文章

  1. HTML5 学习笔记 应用程序缓存
  2. STS IDE 个性化修改
  3. mosquitto ---mosquitto-auth-plug
  4. SQL 关于apply的两种形式cross apply 和 outer apply, with cube 、with rollup 和 grouping
  5. NPN/PNP和N沟道/P沟道负载的接法
  6. &lt;class &#39;Salesman.admin.UsrUserAdmin&#39;&gt;: (admin.E012) There are duplicate field(s) in &#39;fieldsets[0][1]&#39;.
  7. AutoFac文档7(转载)
  8. Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制
  9. SMBUS讀取數據的方法
  10. swift的UITableView的使用