docker容器跨服务器的迁移
2024-08-26 14:46:24
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>来回滚之前的层)。
最新文章
- 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
- OAF通过Iterator标准遍历各行
- NSDate获取当前时区的时间
- mybatis关联查询,一对一,一对多
- 6/14 sprint2 看板和燃尽图的更新
- 小例子(二)、winform窗体间的关系
- 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
- MyBatis主键返回
- SVN设置钩子文件限制提交文件时必须填写更新日志
- msi软件包无法安装
- matlab读取多幅图片,并对读取的图片降采样和双三次插值
- BZOJ 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富( dp )
- Linux设置全局代理与yum代理
- OC在终端编写和运行
- postgres 9.5 FDW变化
- 浏览器抓包(post)
- 学习 JavaScript (六)核心概念:函数
- VO、AO、执行环境和作用域链
- Vue.$nextTick
- C# WPF 父控件通过使用可视化树找到子控件
热门文章
- HTML5 学习笔记 应用程序缓存
- STS IDE 个性化修改
- mosquitto ---mosquitto-auth-plug
- SQL 关于apply的两种形式cross apply 和 outer apply, with cube 、with rollup 和 grouping
- NPN/PNP和N沟道/P沟道负载的接法
- <;class &#39;Salesman.admin.UsrUserAdmin&#39;>;: (admin.E012) There are duplicate field(s) in &#39;fieldsets[0][1]&#39;.
- AutoFac文档7(转载)
- Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制
- SMBUS讀取數據的方法
- swift的UITableView的使用