首页/云/Docker 容器速查/离线环境镜像搬运流程
镜像与构建107 条

离线环境镜像搬运流程

隔离网络搬运镜像的标准做法:save 打包并压缩、记录校验值、介质传输、目标机校验后 load,全程不依赖外网仓库。

Docker 容器速查云更新于 2026-10-13

隔离网络的标准搬运流程

在不能访问外部镜像仓库的环境里交付镜像,标准做法是五个步骤:源端 save 导出、压缩、计算校验值、介质传输、目标端校验后 load。整个链路不依赖网络仓库,但要求源端与目标端架构一致,且每一步都要留下可核对的产物与校验记录,否则一旦传输出错,很难判断是归档损坏还是导入方式不对。

基本信息

流程save → 压缩 → 校验 → 传输 → load
校验工具sha256sum(生成 .sha256 文件并核对)
压缩gzip 或 zstd,配合管道直接落盘
前提源机与目标机镜像架构一致

典型使用场景

  • 生产内网交付:从有网环境搬到隔离环境,全程凭介质传递
  • 审计留痕:归档与校验值成对保存,交付记录可追溯
  • 大包分片传输:超大镜像先压缩再分卷,减少介质往返次数
  • 版本回退准备:交付前把上一个可用版本的归档留在目标机本地
  • 批量分发包:一套归档发给多个目标环境,逐个校验后导入

从导出到导入

从导出到导入
# 源端:导出并压缩,随后生成校验值
docker save app/web:1.4.2 | gzip > web-1.4.2.tgz
sha256sum web-1.4.2.tgz | tee web-1.4.2.sha256

# 记录镜像摘要,便于核对导入内容
docker images --digests app/web:1.4.2

# 目标端:先校验,通过后再导入
sha256sum -c web-1.4.2.sha256
gunzip -c web-1.4.2.tgz | docker load

# 导入后核对标签与摘要
docker images --digests app/web

步骤与检查点

步骤命令检查点
导出docker save -o 或管道到 gzip确认镜像标签完整、磁盘有余量
校验sha256sum 生成并核对两侧校验值一致才继续
导入docker load 或管道导入看到 Loaded image 与标签输出
复盘docker images --digests标签与摘要和交付记录一致
源机与目标机架构要一致;跨架构交付需在源端分别构建对应平台的镜像,归档本身不做架构转换。
单向导入的场景应保留归档与校验值,后续复现或审计时不必重新从源端导出,这是最省成本的追溯方式。

易错点

  • 跳过校验直接导入:传输中断产生的半截文件会导入失败或得到不完整镜像,先校验成本极低
  • 只在有网环境保留归档:隔离环境出现问题需要重新搬一次介质,交付时同步留档更省事
  • 混用架构:amd64 归档拿到 arm64 机器上只能 load 不能运行,交付前确认目标平台
  • 不留摘要记录:归档与现场镜像是否一致无法核对,发布记录里同时写标签与摘要

数据来源与参考

  • Docker 官方文档:docker image save / load 与离线分发流程(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌