名称¶
podman-manifest-push - 将清单列表或镜像索引推送到注册表
语法¶
podman manifest push [选项] 清单名称或索引名称 [目标]
描述¶
将清单列表或镜像索引推送到注册表。
返回值¶
清单镜像的 ID 和镜像清单的摘要。
选项¶
--add-compression=压缩¶
确保为每个平台添加请求的压缩变体到清单列表中,同时在同一个清单列表中保留原始实例。支持的值为 (gzip
, zstd
和 zstd:chunked
)。以下标志可以多次使用。
请注意,--compression-format
控制清单列表中每个实例的压缩格式。 --add-compression
将为列表中的每个实例添加另一个变体,使用指定的压缩方式。 --compression-format
gzip --add-compression
zstd 将推送一个清单列表,其中每个实例都用 gzip 压缩,另外每个实例还有一个用 zstd 压缩的变体。
--all¶
除了列表或索引本身之外,还会推送清单列表或镜像索引中提到的镜像。(默认值为 true)
--authfile=路径¶
认证文件的路径。在 Linux 上默认为 ${XDG_RUNTIME_DIR}/containers/auth.json
,在 Windows/macOS 上默认为 $HOME/.config/containers/auth.json
。该文件由 podman login 创建。如果未在此处找到授权状态,则会检查 $HOME/.docker/config.json
,该文件是使用 docker login 设置的。
注意:还可以通过设置 REGISTRY_AUTH_FILE
环境变量来覆盖认证文件的默认路径。这可以通过 export REGISTRY_AUTH_FILE=path 来实现。
--cert-dir=路径¶
使用 路径 (*.crt, *.cert, *.key) 下的证书连接到注册表。(默认值为 /etc/containers/certs.d)有关详细信息,请参见 containers-certs.d(5)。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--compression-format=gzip | zstd | zstd:chunked¶
指定要使用的压缩格式。支持的值为:gzip
, zstd
和 zstd:chunked
。默认值为 gzip
,除非在 containers.conf 文件中被覆盖。 zstd:chunked
与加密镜像不兼容,在这种情况下将被视为 zstd
并给出警告。
--compression-level=级别¶
指定要使用的压缩级别。该值特定于所使用的压缩算法,例如,对于 zstd,接受的值范围是 1-20(包含),默认值为 3,而对于 gzip,它为 1-9(包含),默认值为 5。
--creds=[用户名[:密码]]¶
如果需要,用于对注册表进行身份验证的 [用户名[:密码]]。如果一个或两个值未提供,则会出现命令行提示,并可以输入值。密码在输入时不会显示。
请注意,指定的凭据仅用于对目标注册表进行身份验证。它们不用于镜像或注册表被重写时(请参见 containers-registries.conf(5)
);要对这些进行身份验证,请考虑使用 containers-auth.json(5)
文件。
--digestfile=摘要文件¶
复制镜像后,将结果镜像的摘要写入文件。
--force-compression¶
如果设置,推送将使用指定的压缩算法,即使目标包含已经存在一个压缩不同的变体。如果在命令行中显式指定了 --compression-format
,则默认值为 true
,否则为 false
。
--format, -f=格式¶
推送列表时使用的清单列表类型(oci 或 v2s2)(默认值为 oci)。
--quiet, -q¶
写入清单时,抑制进度输出
--remove-signatures¶
推送镜像时,不要复制签名。
--rm¶
如果推送成功,则从本地存储中删除清单列表或镜像索引。
--sign-by=指纹¶
使用指定的密钥,使用“简单签名”签名对推送的镜像进行签名。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--sign-by-sigstore=参数文件¶
根据容器的 sigstore 签名参数文件 参数文件 中指定的更多选项添加 sigstore 签名。有关文件格式的详细信息,请参见 containers-sigstore-signing-params.yaml(5)。
--sign-by-sigstore-private-key=路径¶
使用指定路径下的私钥对推送的镜像添加 sigstore 签名。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--sign-passphrase-file=路径¶
如果对镜像进行签名(使用 --sign-by 或 --sign-by-sigstore-private-key),则从指定的路径读取要使用的密码。
--tls-verify¶
在联系注册表时要求 HTTPS 并验证证书(默认值为 true)。如果显式设置为 true,则使用 TLS 验证。如果设置为 false,则不使用 TLS 验证。如果没有指定,则使用 TLS 验证,除非目标注册表在 containers-registries.conf(5) 中被列为不安全的注册表
目标¶
目标是容器镜像被推送到的位置。它支持来自 containers-transports(5)
的所有传输。如果没有指定传输,则使用 docker
(即,容器注册表)传输。对于远程客户端,包括 Mac 和 Windows(不包括 WSL2)机器,docker
是唯一支持的传输。
示例¶
将清单列表推送到容器注册表
podman manifest push mylist:v1.11 docker://registry.example.org/mylist:v1.11