<返回更多

Docker镜像批量save和load

2023-04-01  微信公众号  微技术之家
加入收藏

工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境。当遇到多个镜像文件需要处理的时候,可以借助shell脚本批量执行,具体方法如下。

 

export 和 import 导出的是一个容器的快照, 不是镜像本身, 也就是说没有 layer。 Dockerfile 里的 workdir, entrypoint 之类的所有东西都会丢失,commit 过的话也会丢失。

快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也更大。

 

save 和load

(相当于镜像的备份和恢复)

导出镜像:

docker save -o <保存路径> <镜像名称:标签>

如把A机 ubuntu:18.04 导出到当前文件夹,则在A机上运行:

docker save -o ./ubuntu18.tar ubuntu:18.04

此时,把A机当前文件夹下的ubuntu18.tar拷贝到另一台安装过docker的B机上,在B机上导入镜像:

docker load --input ./ubuntu18.tar

这样镜像ubuntu:18.04就成功的从A机复制到B机上了

3. 在开发环境导入上述打包的镜像

a) 查看镜像id

sudo docker images

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
quay.io/calico/node      v1.0.1              c70511a49fa1        6 weeks ago         257 MB
hello-world              latest              48b5124b2768        2 months ago        1.84 kB

b) 选择要打包的镜像,执行打包命令

sudo docker save -o quay.io-calico-node-1.tar quay.io/calico/node 

会在当前目录下生成导出文件xxx.tar,然后将此文件下载到本地

c) 导入上述打包的镜像

docker load -i quay.io-calico-node-1.tar

至此,就完成了!

关键词:Docker      点击(3)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多Docker相关>>>