将清单列表或镜像索引推送到注册表
摘要
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
指定包含认证信息的文件的路径,用于访问私有注册表。
--cert-dir
指定包含 TLS 证书和密钥的目录的路径。
--compression-format
设置用于清单列表中每个镜像实例的压缩格式。支持的压缩格式包括(gzip
、zstd
和 zstd:chunked
)。
--compression-level
设置压缩算法使用的压缩级别(如果适用)。不同的压缩格式可能支持不同的压缩级别范围。
--creds
使用指定的凭据字符串进行身份验证。格式通常为 username:password
。
--digestfile
将镜像摘要写入指定的文件,而不是输出到标准输出。
--force-compression
强制对所有镜像使用指定的压缩格式,即使原始镜像已经是压缩的。
--format, -f=format
指定推送清单列表时使用的清单列表类型(oci 或 v2s2)。默认为 oci 类型。
--quiet, -q
在写入清单时,抑制进度输出。
--remove-signatures
推送镜像时不复制签名。
--rm
如果推送成功,则从本地存储中删除清单列表或镜像索引。
--sign-by=fingerprint
使用指定的密钥通过“简单签名”为推送的镜像添加签名。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--sign-by-sigstore=param-file
基于在容器 sigstore 签名参数文件 param-file 中指定的进一步选项,添加一个 sigstore 签名。有关文件格式的详细信息,请参阅 containers-sigstore-signing-params.yaml(5)。
--sign-by-sigstore-private-key=path
使用指定路径的私钥为推送的镜像添加 sigstore 签名。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--sign-passphrase-file
指定包含签名所需通行短语的文件路径。
--tls-verify
要求与目标注册表之间的连接使用 TLS 验证。
DESTINATION
DESTINATION 是容器镜像被推送到的位置。它支持 containers-transports(5)
中列出的所有传输方式。如果没有指定传输方式,则使用 docker
(即容器注册表)传输方式。对于远程客户端,包括 Mac 和 Windows(不包括 WSL2)机器,docker
是唯一支持的传输方式。
示例
将清单列表推送到容器注册表:
podman manifest push mylist:v1.11 docker://registry.example.org/mylist:v1.11
清单列表推送到注册表示例
示例 1: 将清单列表推送到注册表
将名为 mylist:v1.11
的清单列表推送到名为 myregistry.example.com/mylist:v1.11
的目标地址:
podman manifest push mylist:v1.11 myregistry.example.com/mylist:v1.11
示例 2: 使用认证文件推送清单列表
如果目标注册表需要身份验证,您可以使用 --authfile
选项指定包含认证信息的文件:
podman manifest push --authfile /path/to/authfile.json mylist:v1.11 myregistry.example.com/mylist:v1.11
示例 3: 添加压缩变体并推送清单列表
在推送清单列表时,为每个平台添加 gzip 和 zstd 压缩的变体:
podman manifest push --compression-format gzip --add-compression zstd mylist:v1.11 myregistry.example.com/mylist:v1.11
注意事项
- 确保您有足够的权限将镜像推送到目标注册表,并且目标注册表是可访问的。
- 如果目标注册表需要身份验证,请确保提供正确的认证信息。
- 压缩选项可能会增加推送操作的时间和计算资源需求,特别是当处理大型镜像或多个平台时。
另请参阅
这些手册页提供了关于 Podman 及其 manifest 子命令的更多详细信息和使用方法。
相关命令和资源
- podman manifest create: 用于创建新的清单列表。
- podman manifest inspect: 用于显示清单列表或镜像索引的详细信息。
- podman manifest rm: 用于从清单列表中移除镜像。