docker image save
描述
将一个或多个镜像保存成一个 tar 格式的归档 (archive),默认是将其写到标准输出 (STDOUT)。
生成的 tar 归档包含所有父层 (parent layers),以及所有标签 (tags) + 版本 (versions),或者是你指定的 repo:tag。对于每一个你提供的镜像参数,都会这样处理。
用法
docker image save [OPTIONS] IMAGE [IMAGE...]这个命令也有一个别名 (alias):docker save。
选项
| 选项 | 默认值 | 描述 | | -- | | | | -o, --output | — | 写入到一个文件,而不是输出到标准输出 (STDOUT)。 | | --platform | — | (在 API 1.48 及以上版本) 只保存指定的平台 (variant)。格式为 os[/arch[/variant]],例如 linux/amd64。 |
os:操作系统arch:架构 (比如 amd64, arm64)variant:架构变种 (可选)如果省略 arch / variant,会默认为守护进程 (daemon) 当前平台的架构 / 变种。
示例 (Examples)
1. 创建一个备份 (backup),可以之后用 docker load 恢复
docker load 恢复2. 使用 gzip 将镜像保存为 .tar.gz (压缩归档)
.tar.gz (压缩归档)为了减小备份体积,你可以将 docker save 的输出通过管道 (pipe) 传给 gzip:
3. “挑选 (cherry-pick)” 特定标签 (tags)
你可以仅保存某些标签,而不是一个镜像的所有标签:
这里,只把 ubuntu:lucid 和 ubuntu:saucy 保存到同一个 tar 包里。
4. 保存特定平台 (variant) 的镜像 (--platform)
--platform)--platform选项允许你指定要保存的镜像平台 (variant)。默认情况下,如果你的 Docker 守护进程 (daemon) 本地存有多个平台版本 (multi-platform variants),docker save会保存所有这些版本。使用--platform可以指定只保存某一个。如果你指定的平台在本地镜像存储 (image store) 中不存在,就会报错。
平台格式是
os[/arch[/variant]],例如linux/amd64或linux/arm64/v8。arch 和 variant 是可选的,如果省略,会默认使用守护进程的本机架构 / 变种。
举例:保存 alpine:latest 的 RISC‑V 版本 (riscv64):
如果你指定一个不存在的平台变体,比如 linux/s390x,你可能会看到类似这样的错误:
最后更新于
这有帮助吗?