对于没有私有仓库来说,将本地镜像放到其它服务器上执行时,可以使用save和load方法,前者用来把镜像保存一个tar文件,后台从一个tar文件恢复成一个镜像,这个功能对于开发者来说还是很方便的!下面就带大家来实现上面的过程。
docker images 查看一下本地镜像
[root@Dimage ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sonarqube 7.1 7a39fc50869a 8 months ago 803MB
gitlab/gitlab-ce latest 80305d568e28 9 months ago 1.47GB
postgres 10.4 978b82dc00dc 11 months ago 236MB
这里以sonarqube、postgres两个镜像为例
[root@Dimage Templates]# docker save sonarqube -o /root/Templates/sonarqube.tar
[root@Dimage Templates]# docker save postgres -o /root/Templates/postgres.tar
将上面的sonarqube、postgres两个镜像保存成一个tar文件,注意如果目录没有,需要提前建立一下,docker不会帮你建立目录的。
使用xtfp、FileZilla等工具把文件下载,复制到对应的服务器上
在外测服务器上,去load你的tar文件,把这恢复到docker列表里
[root@jenkins ~]# docker load < /home/sonarqube.tar
f715ed19c28b: Loading layer [==================================================>] 105.5MB/105.5MB
8bb25f9cdc41: Loading layer [==================================================>] 23.99MB/23.99MB
08a01612ffca: Loading layer [===================&