Docker SAVE保存导出/加载导入镜像
在使用docker的时候我们都会用到镜像,而有些镜像是非常难下载的,或者在一台主机上拉取镜像后,能不能通过导入导出的功能把docker images迁移到其他主机上呢?(不考虑用私服的情况下)答案是肯定的。一、docker镜像的导出(docker images镜像保存)docker save -o <要保存的文件名.tar> <要保存的源镜像id>例如:...
在使用docker的时候我们都会用到镜像,而有些镜像是非常难下载的,或者在一台主机上拉取镜像后,能不能通过导入导出的功能把docker images迁移到其他主机上呢?(不考虑用私服的情况下)
答案是肯定的。
一、docker镜像的导出(docker images镜像保存)
docker save -o <要保存的文件名.tar> <要保存的源镜像id>
例如:
1-1.查询所有镜像,找到你想要保存的源镜像,比如我们要保存nginx/nginx-ingress 的镜像,那么执行命令docker images后可以看到它的镜像id是b68fb03da1ee
[root@master ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx/nginx-ingress 1.6.3 b68fb03da1ee 5 days ago 165MB
1-2.保存镜像(导出镜像)
[root@master ~]# docker save -o nginx-ingress.tar b68fb03da1ee
注释:
nginx-ingress.tar是你导出的镜像的文件名,名字你可以随意命名(最好以.tar结尾)
b68fb03da1ee是用docker images查出来的你想要导出的镜像的id
1-3.然后在你的当前目录下就会发现多出来个nginx-ingress.tar文件。
二、docker镜像的导入(docker images镜像加载)
想办法把刚才保存的镜像弄到目标服务器上去(略)
1.导入镜像到新服务器上
docker load -i <导出好的镜像文件完整文件名>
例如:
1-1.导入docker镜像
[root@client ~]# docker load -i nginx-ingress.tar
1-2.查看所有镜像
[root@client ~]# docker images
此时你会发现本机docker镜像库多出来个没有镜像名,又没有镜像id的一个神奇镜像,没错,这个就是刚才你导入的那个镜像。记住它的id(比如镜像标签是imageidqq37213690),马上要用到它。
1-3.给镜像打标签
[root@client ~]# docker tag imageidqq37213690 nginx/nginx-ingress:1.6.3
(啰嗦:你未必必须将镜像标签名命名和导出前一样,完全可以改成你想要的,如:harbor.hiibm.com/nginx-ingress-image:1.6.3)
如果没有报错,ok,那至此docker镜像就导出成功并导入成功了。
---------------------------------END------------------------2020年3月12日14:42:02---------------------------------
老铁随手点个赞吧,双击666666666666666666666
更多推荐
所有评论(0)