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>来回滚之前的层)。

docker容器跨服务器的迁移的更多相关文章

  1. docker容器跨服务器的迁移方式export和save(转)

      前沿: 这两天把报警平台放在了docker里面跑了,但是宿主机本身性能就不好,所以导致mongodb到挂了好几次了.这次搞了一台牛逼的服务器,虽说是opentstack里面的主机,但是iops 很 ...

  2. docker容器跨服务器的迁移的方法

    docker的备份方式有export和save两种. export是当前的状态,针对的是容器,docker save 是针对镜像images. export 找出要备份容器的ID ? 1 2 3 [r ...

  3. Docker容器跨主机通信之:直接路由方式

    一.Docker网络基本原理 直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包:此外,如果不同子网之间要进行通信,需要额外的路由机制. Docker ...

  4. Docker容器跨主机通信

    默认情况下Docker容器需要跨主机通信两个主机节点都需要在同一个网段下,这时只要两个Docker容器的宿主机能相互通信并且该容器使用net网络模式,改实现方式为网桥模式通信: 除此之外我们还可以通过 ...

  5. Docker容器跨主机通信--overlay网络

    一.Docker主机间容器通信的解决方案 Docker网络驱动 Overlay: 基于VXLAN封装实现Docker原生Overlay网络 Macvlan: Docker主机网卡接口逻辑上分为多个子接 ...

  6. 搭建ubuntu14.04的hadoop集群【docker容器充当服务器】

    首先弄出来装有hadoop.java.ssh.vim的镜像起名badboyf/hadoop.做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成 ...

  7. Docker容器跨主机通信之:OVS+GRE

    一.概述 由于docker自身还未支持跨主机容器通信,需要借助docker网络开源解决方案 OVS OpenVSwich即开放式虚拟交换机实现,简称OVS,OVS在云计算领域应用广泛,值得我们去学习使 ...

  8. docker容器跨主机网络overlay

    前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1  主机名mcw510.0.0.134 host2  主机名mcw6host1与 ...

  9. 手绘流程图,教你WSL2与Docker容器无缝互相迁移

    摘要:本文主要介绍WSL2与Docker容器无缝迁移镜像. 本文分享自华为云社区<WSL2与Docker容器,无缝互相迁移>,作者: tsjsdbd . 注:本文提到的WSL都是指WSL2 ...

随机推荐

  1. SCF: 简单配置门面

    SCF: 简单配置门面 [English]  [中文] Simple Configuration Facade, 简写为 SCF.是 代码 和 外部配置 (properties文件, 环境变量,系统/ ...

  2. CSS:给 input 中 type="text" 设置CSS样式

    input[type="text"], input[type="password"] {    border: 1px solid #ccc;    paddi ...

  3. Linux-软件包管理-源码包安装

    rpm -q gcc 查看c语言编译器是否已经安装 在浏览器输入:http://mirror.bit.edu.cn/apache/httpd/ 下载2.2.29这个包 cd ~ 回到root目录 ls ...

  4. .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    .net core +codefirst(.net core 基础入门,适合这方面的小白阅读)   前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...

  5. java程序猿常用Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  6. Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结

    Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.----------- ...

  7. swift 函数.和匿名函数

    函数 注意: 没有定义返回类型的函数会返回特殊的值,叫 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成(). 使用元组作为返回参数,返回多个参数 func count(strin ...

  8. Nokia Imaging SDK 的高级使用—实时滤镜拍照

    有关 Nokia Imaging SDK 的初级使用,可以参考:Nokia Imaging SDK滤镜使用入门 本文的主题: 1.如何 PhotoCaptureDevice 类使用,以及如何在 Med ...

  9. 记一次线上MySQL数据库死锁问题

            最近线上项目报了一个MySQL死锁(DealLock)错误,虽说对业务上是没有什么影响的,由于自己对数据库锁这块了解不是很多,之前也没怎么的在线上碰到过.这次刚好遇到了,便在此记录一下 ...

  10. gt811 driver

    #include <linux/module.h> #include <linux/i2c.h> #include <linux/platform_device.h> ...