Docker SAVE保存导出/加载导入镜像

在使用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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值