跳到主要内容

Podman Save 命令介绍手册

一、概要

Podman 是一个开源的容器运行时工具,用于在无需守护进程的情况下管理容器。podman save 命令是 Podman 的一个实用功能,它允许用户将容器镜像保存为归档文件,以便在后续或不同环境中进行加载和使用。这对于迁移容器、备份镜像或在没有直接访问互联网的环境中部署容器非常有用。

二、基本语法

podman save [OPTIONS] IMAGE [IMAGE...] -o OUTPUT

  • OPTIONS:可选参数,用于配置保存操作。
  • IMAGE:要保存的容器镜像的名称或ID。可以指定多个镜像。
  • -o OUTPUT:指定输出文件的路径和名称。

三、常用选项

  • -o, --output:指定输出文件的路径和名称。如果不使用此选项,则默认将输出发送到标准输出(stdout)。

四、使用示例

  1. 将单个镜像保存为归档文件

假设您要将名为 myimage 的镜像保存为 myimage.tar 文件,可以使用以下命令:

podman save -o myimage.tar myimage

  1. 将多个镜像保存为同一个归档文件

如果您想将多个镜像(如 image1image2)保存为同一个 images.tar 文件,可以这样做:

podman save -o images.tar image1 image2

  1. 将镜像保存到标准输出

如果您想将镜像输出到标准输出而不是文件,可以省略 -o 选项。这通常与管道(|)和其他命令一起使用,例如 gzip 进行压缩:

podman save myimage | gzip > myimage.tar.gz

五、注意事项

  • 保存的归档文件通常包含镜像的所有层和元数据,因此可能会比较大。请确保您有足够的磁盘空间来存储这些文件。
  • 加载保存的镜像时(使用 podman load 命令),您需要在具有相同或兼容容器运行时的系统上执行此操作,以确保镜像可以正确加载和运行。
  • 如果您只是需要将镜像从一个 Podman 系统迁移到另一个 Podman 系统,并且两个系统都可以访问相同的镜像仓库,那么使用 podman pullpodman push 命令可能更为方便和高效。

六、总结

podman save 命令是 Podman 工具集中的一个强大功能,它允许用户轻松地将容器镜像保存为归档文件,以便进行迁移、备份或在无网络环境中使用。通过结合其他命令和选项,您可以灵活地管理容器镜像,满足不同的部署和迁移需求。希望本手册能帮助您更好地理解和使用 podman save 命令。

语法

podman save [选项] 名称[:标签]

podman image save [选项] 名称[:标签]

描述

podman save 命令用于将镜像保存到本地文件或目录。默认情况下,podman save 将数据写入标准输出,可以通过重定向到文件来保存数据。使用 quiet 标志可以抑制输出。 podman save 会保存镜像的父层,并且可以使用 podman load 命令加载这些镜像。 如需导出容器,请使用 podman export 命令。 注意:: 是一个受限制的字符,不能作为文件名的一部分。

podman [全局选项]

podman save [全局选项]

podman save [选项] 名称[:标签]

选项

--dir -compress

注意:此标志只能与 --format=docker-dir 一起设置。

--format=格式

指定要生成的镜像格式,可以是以下选项之一:

格式描述
docker-archivedocker load(1) 兼容的 tar 归档文件(默认值)
oci-archive使用 OCI Image Format 的 tar 归档文件
oci-dir使用 OCI Image Format 的目录
docker-dir使用 dir 传输(见 containers-transports(5))和 v2s2 清单类型的目录

--help, -h

打印使用说明

--multi-image-archive, -m

允许创建包含多个镜像的归档文件。额外的名称将被解释为镜像而不是标签。仅支持 --format=docker-archive。 此选项的默认值可以通过在 containers.conf 中设置 multi_image_archive="true"|"false" 来修改。

--output, -o=文件

将数据写入文件,默认为标准输出

--quiet, -q

抑制输出

--uncompressed

在使用OCI格式之一时接受未压缩的图层。

示例

将镜像保存到本地文件,不显示进度。

podman save --quiet -o alpine.tar alpine:2.6

将镜像保存到标准输出并通过shell重定向内容。

podman save alpine > alpine-all.tar

以oci-archive格式将镜像保存到本地文件。

podman save -o oci-alpine.tar --format oci-archive alpine

以docker-dir格式压缩保存镜像。

podman save --compress --format docker-dir -o alp-dir alpine
获取图像源签名
复制blob sha256:2fdfe1cd78c20d05774f0919be19bc1a3e4729bce219968e4188e7e0f1af679d
1.97 MB/1.97 MB[========================================================]0s
复制配置sha256:501d1a8f0487e93128df34ea349795bc324d5e0c0d5112e08386a9dfaff620be
584 B/584 B[============================================================]0s
将清单写入图像目标
存储签名

另请参阅

podman(1), podman-load(1), containers.conf(5), containers-transports(5)

历史

2017年7月,最初由Urvashi Mohnani编辑。