docker tag 重命名_Docker使用技巧:你会正确导出Docker镜像?

工作中我们会常常遇到在没有镜像仓库中心的时候,需要将容器放到到另外一个主机上,此时,我们就需要将镜像导出,今天我们就介绍下docker的导出(docker export & docker save)和导入(docker import & docker load)的命令。

docker export & docker import

使用docker export 命令导出的文件相当于是容器的快照,并不保存镜像的层历史和元数据信息,目标类型是容器文件系统,文件导出为TAR文件,该文件只是包含了组成容器状态的文件,而且,正在运行中的状态不会被保存.

7597294cceaf75a6129c724edb06d4d2.png

比如,现在需要导出主机上的nginx镜像:

 docker export -o nginx.tar nginx:myversion  #等价于 docker export nginx:myversion > nginx.tar 

导入:

#如果不指定对应的nginx:myversion版本和标签信息,导入之后REPOSITORY和TAG会显示为docker import nginx.tar nginx:myversion

docker save & docker load

docker save 则是可以保留镜像的层历史和元数据信息,相应的,导出的镜像文件TAR也会比较大。

使用docker save导出的镜像文件,也可以使用docker import导入,对应的,导入之后将会丢弃容器的历史和元数据信息。如果要保留镜像的历史,可以使用load而不是import,这样其历史也会在另一边的docker守护进程上得到保留。

导出

docker save -o nginx.tar nginx:myversion#等价于docker save -o nginx:myversion > nginx.tar

导入,不指定版本TAG信息,在导入之后也会显示nginx的版本信息。

docker load -i nginx.tar #等价于docker load < nginx.tar

总结

docker save保存的是包含层历史和元数据的镜像(image)文件,docker export保存的是不包含容器层历史和元数据的容器(container)快照;docker load可以用来导入镜像文件,docker import用来导入容器文件,两者都会恢复为镜像;docker load不能对导入的镜像重命名,而docker import可以为镜像指定新名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值