«

Docker镜像导出导入save与load命令用法

时间:2026-11-14 07:18     作者:emer     分类: Docker


前言

离线环境或内网服务器无法拉取公共镜像,需要把一台机器上的镜像导出成压缩包,拷贝到另一台机器导入。docker save 和 docker load 负责镜像的迁移,区别于容器的导出。本文讲解 save 导出、load 导入、压缩体积、查看镜像、与容器导出的区别。

操作步骤

1. 查看本地镜像

docker images

2. 导出镜像为 tar

docker save nginx:1.28 -o nginx.tar

3. 压缩导出节省体积

docker save nginx:1.28 | gzip > nginx.tar.gz

4. 在目标机器导入

docker load -i nginx.tar

压缩包先解压:

gunzip nginx.tar.gz && docker load -i nginx.tar

或直接:

docker load < nginx.tar.gz

5. 验证导入成功

docker images

6. 多镜像一次性导出

docker save img1:tag img2:tag -o all.tar

常见坑

  1. save 导出的是镜像层,export 导出的是容器文件系统,两者不能混用。
  2. 不压缩 tar 体积大,跨网传输慢,用 gzip。
  3. 导入后 tag 丢失或名称不符,需要重新打 tag。
  4. 目标机器架构不同(amd64/arm),镜像无法运行。
  5. 镜像层很多,导出文件仍较大,注意磁盘。
  6. 版本 tag 写错,导入到旧版本。
  7. 私有仓库更适合规模化分发,save/load 用于离线迁移。

总结

save 打包镜像层、load 还原镜像,配合 gzip 压缩适合离线迁移。注意区分镜像 save/load 与容器 export/import,跨架构先确认 CPU 类型。迁移后 docker images 核对 tag,必要时重新打标签。

遇到问题加QQ23979811 协助处理

标签: Docker save load 镜像迁移