码头工人图像本地迁移的案例

  介绍

这篇文章将为大家详细讲解有关码头工人图像本地迁移的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

最近在学习码头工人,经常遇到的一个问题是,在下载码头工人形象的时候,由于众所周知的网络原因导致失败,虽然网上也有很多解决方案,比如使用码头工人中心镜之类的国内镜像服务,不过由于个人原因(侥幸有一台国外的VM),我更倾向于不通过码头工人注册表共享下载的形象。

问题很明确:

不通过码头工人注册表,将一个机器上的码头工人形象共享给其他机器,即码头工人镜像本地迁移。

方案也很简单:

使用码头工人的保存和加载命令,具体步骤如下

1。在一个机器上列出所有的码头工人的形象,并找到你要保存的图片名

sudo  docker 图片

2。在一个机器上使用码头工人保住命令,保存图像为焦油文件

sudo  docker 节省;image_name  -o  file_path

其中,image_name替换为第一步里找到的要保存的图片名.file_path是导出的焦油文件路径,比如/home/tmp/image1.tar

3。将导出焦油的图像文件传到其他机器,如机器b可以使用各种方式,比如scp之类的,在这里不详述了。

4。在需要使用形象的机器上(如B机器)使用码头工人负载命令加载图像焦油文件

sudo  docker  load 小姐;file_path

注:另外,也可以使用码头工人的导出和导入命令实现类似功能,关于出口/保存导入/负载的区别,可以自己上网查,在此不做展开了。

基本区别就是出口出来的是容器(无历史和层信息),而拯救出来的是图像(具有完整的历史和层信息,支持层回滚)

<强>补充:码头工人的镜像的备份与迁移

第一步:

使用码头工人ps -命令查看所有的容器

[root@localhost  ~] #, docker  ps  -a    CONTAINER  ID , IMAGE ,,, COMMAND ,,,, CREATED ,,, STATUS ,,,,, PORTS ,,名字   9505 a10e6d29 , nginx ,,,“nginx  -g  & # 39; daemon 的…“,34,minutes  ago , Exited  (0), 8, minutes  ago ,,,, mynginx   4 c89fff9ac8c , mysql: 5.6,,,“docker-entrypoint.s…“, 11, days  ago ,, Exited  (0), 11, days  ago ,,,,, mymysql   0 abefefe2592 , centos ,,,,/bin/bash",,,, 2, months  ago , Exited  (255), 12, days  ago ,,,,, mycentos

第二步:

容器保存为对象,码头工人提交容器名要保存的名字

[root@localhost 相依]#,docker  commit  mynginx  mynginx_backup   sha256: a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a

第三步:

查看刚才保存的镜像

[root@localhost 相依]#,docker 图像   REPOSITORY ,, TAG ,,,, IMAGE  ID ,, CREATED ,,大小   mynginx_backup , latest ,,, a6ca067596a2 , 19, seconds  ago , 109 mb

第四步:

镜像备份(保存为焦油文件),码头工人保存- o容器名。焦油要保存的名字

[root@localhost  ~] #, docker 节省;-o  mynginx.tar  mynginx_backup

第五步:

查看当前目录

[root@localhost  ~] #, ls   anaconda-ks.cfg  conf  data  initial-setup-ks.cfg  java  logs  mynginx.tar  original-ks。cfg

第六步:

删除原来的镜像并查看

[root@localhost  ~] #, docker  rmi  mynginx_backup   未加标签的:mynginx_backup:最新   删除:sha256: a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a   删除:sha256: facd3b28655186bdc7349bc017557ed80f94155831a8a3ed936f498e2f5b6b1c   (root@localhost  ~) #, docker 图像   REPOSITORY ,, TAG ,,,, IMAGE  ID ,, CREATED ,,,大小

第七步:

镜像恢复,码头工人装载我打包好的容器的文件名。焦油

[root@localhost  ~] #, docker  load 小姐;mynginx.tar    ea4399e4dbe6: Loading  layer [==================================================祝辞],6.656 kb/6.656 kb   Loaded 形象:mynginx_backup:最新   (root@localhost  ~) #, docker 图像   REPOSITORY ,, TAG ,,,, IMAGE  ID ,, CREATED ,,大小   mynginx_backup , latest ,,, a6ca067596a2 , 7, minutes  ago , 109 mb

码头工人图像本地迁移的案例