docker save/load VS docker export/import

docker save/load 和 docker export/import 是 Docker 处理镜像 / 容器打包的两组核心命令,

核心区别在于操作对象、打包内容、是否保留分层 / 元数据

一、核心区别总表

维度 docker save/load docker export/import
操作对象 镜像(Image) 容器(Container,需是停止 / 运行态)
打包内容 包含镜像所有分层、元数据 (标签、构建信息) 仅容器的 "当前文件系统快照" (扁平化,无分层)
是否保留历史 保留镜像分层和构建历史,可复用缓存 无分层、无历史,导入后是单一新镜像层
是否保留标签 保存 / 加载时保留镜像标签(如 nginx:1.24 导入时默认无标签,需手动指定
命令格式 savedocker save -o 文件名.tar 镜像名 loaddocker load -i 文件名.tar exportdocker export -o 文件名.tar 容器ID importdocker import 文件名.tar 新镜像名:标签

二、通俗理解 + 使用场景

1. docker save/load(镜像打包)
  • 通俗理解:把 "多层汉堡" 完整打包,包括每一层食材和汉堡的标签(如 "香辣鸡腿堡"),解压后还是原来的多层汉堡。

  • 适用场景

  • ✅ 备份 / 迁移完整镜像(含分层、标签);

  • ✅ 分享官方镜像 / 自定义构建的镜像(保留所有信息);

  • ✅ 批量导出多个镜像(如 docker save -o all.tar nginx:alpine mysql:8)。

  • 示例

    复制代码
    # 保存nginx:alpine镜像为nginx.tar
    docker save -o nginx.tar nginx:alpine
    # 加载镜像(保留标签nginx:alpine)
    docker load -i nginx.tar
2. docker export/import(容器打包)
  • 通俗理解:把 "做好的汉堡(容器)" 压成扁平的肉饼,只保留最终的样子,看不到分层,也没有原来的标签。

  • 适用场景

  • ✅ 备份容器的当前状态(如容器内已配置好的环境、数据);

  • ✅ 把运行中的容器转为镜像(但丢失分层和元数据);

  • ❌ 不适合迁移官方镜像 / 需复用分层的场景。

  • 示例

    复制代码
    # 导出运行中的nginx容器(ID为abc123)为nginx-container.tar
    docker export -o nginx-container.tar abc123
    # 导入为新镜像(需手动加标签)
    docker import nginx-container.tar my-nginx:v1

三、关键避坑点

  1. load 不能改镜像名,import 必须指定新镜像名
    • docker load 会还原镜像的原始名称和标签,无法在加载时修改;
    • docker import 导入的是 "扁平快照",必须手动指定 新镜像名:标签,否则镜像无名称(显示 <none>:<none>)。
  2. export 会丢失卷数据:容器挂载的卷(Volume)数据不在 export 范围内,仅打包容器内置文件系统。
  3. save 支持多镜像打包,export 仅支持单个容器docker save 可同时打包多个镜像到一个 tar 包,docker export 只能导出一个容器。

总结:选型原则

  • 完整保留镜像信息(分层、标签、历史) → 用 save/load
  • 只需要容器当前的文件系统快照 (如备份容器状态、简化镜像)→ 用 export/import
相关推荐
杨浦老苏16 小时前
PDF文档管理平台PDFManager
docker·pdf·工具·群晖
ai产品老杨17 小时前
解耦异构安防:基于 Docker 与边缘计算的 AI 视频管理平台,如何实现 GB28181/RTSP 统一接入与全源码交付
人工智能·docker·边缘计算
极客先躯18 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme18 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
想要成为计算机高手18 小时前
用meta quest 3 遥操宇树机器人-xr_teleoperate 复现(含docker安装与配置方式)
人工智能·docker·机器人·xr·g1·具身智能
“码”力全开19 小时前
云边端协同架构:基于 Docker 与边缘计算的 GB28181/RTSP 异构视频 AI 管理平台设计(附源码交付)
人工智能·docker·架构
IVEN_19 小时前
本地正常,Docker 怎么就空白:Next.js SSR 的 Alpine musl DNS 陷阱
前端·docker·next.js
宇明一不急19 小时前
k8s headless svc
云原生·容器·kubernetes
容器魔方20 小时前
Karmada v1.18 版本发布!新增混合云溢出式调度能力
人工智能·云原生·容器·华为云·云计算
是一个Bug20 小时前
AI Agent 的沙箱是什么?它和 Docker / 虚拟机有什么区别?
人工智能·docker·容器