在不同的主机中同步Docker镜像
Docker镜像拉取原来是一个挺简单的事,直接
1docker pull mygroup/myimage
即可。
但是因为众所周知的原因,docker pull的速度比较感人。这个时候一般我们会选择设置Docker daemon中的registry列表,换成国内镜像,如修改/etc/docker/daemon.json
的内容:
1{ 2 "registry-mirrors": [ 3 "https://hub-mirror.c.163.com" 4 ] 5}
然而,有的时候这些国内的镜像也表现不佳。而此时手头上有其它机器带有需要的镜像,所以想到在局域网中做同步。
搜索了下,这种方式是可行的,步骤如下:
- 在含有此镜像的机器中,使用
docker save mygroup/myimage -o mygroup-myimage.tar
的方式保存镜像到tar包中 - 通过
scp
命令同步tar文件到目标机器,当然用其它方式复制也行 - 最后在目标机器上加载打包好的tar文件
docker load -i mygroup-myimage.tar
这样就大功告成了!
最后,如果实在没有可同步的机器,手头又有Dockerfile的话,考虑下使用Dockerfile重新构建,也是一种路子。