Docker镜像批量save和load

本文介绍了如何在遇到网络限制时,利用亚马逊服务器快速拉取国外镜像,通过shell脚本批量导出和导入,重点讲解了`dockersave`和`dockerload`命令在镜像备份与恢复中的应用,以及如何在开发环境中导入打包的镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

83aa31314421026aa81899a46b0ff2cc.png

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

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

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

  •  docker save 保存的是镜像(image),docker export 保存的是容器(container);

  •  docker load 用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像;

  •  docker load 不能对载入的镜像重命名,而 docker import 可以为镜像指定新名称。

c4ab3635c8b7594ad4c1bcc13c062733.jpeg

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

至此,就完成了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值