名称

podman-manifest-add - 将镜像或制品添加到清单列表或镜像索引

简介

podman manifest add [选项] 列表名称或索引名称 [传输]:镜像名称 镜像或制品名称 […]

描述

将指定的镜像添加到指定的清单列表或镜像索引中,或者创建一个制品清单并将其添加到指定的镜像索引中。

返回值

列表镜像的 ID。

选项

--all

如果添加到列表或索引的镜像是列表或索引本身,则将其所有内容添加到本地列表。默认情况下,此类列表或索引中只有一个镜像被添加到列表或索引中。不建议将 --all 与下面描述的任何其他选项结合使用。

--annotation=annotation=value

为指定图像或工件的条目设置注释。

--arch=架构

覆盖列表或索引记录的镜像所需架构。如果 imageName 指的是清单列表或镜像索引,则从中检索架构信息。否则,从镜像的配置信息中检索。

--artifact

创建制品清单并将其添加到镜像索引。索引名称后的参数将被解释为文件名而不是镜像引用。在大多数情况下,还应指定 --artifact-type 选项。

--artifact-config=路径

创建制品清单并将其添加到镜像索引时,使用指定文件的内容作为制品清单中的配置 blob。在大多数情况下,保留默认值(表示空配置)不变是首选选项。

--artifact-config-type=类型

创建制品清单并将其添加到镜像索引时,使用指定的 MIME 类型作为制品清单中与配置 blob 关联的 mediaType。在大多数情况下,保留默认值(表示空配置或标准 OCI 配置类型)不变是首选选项。

--artifact-exclude-titles

创建制品清单并将其添加到镜像索引时,对于添加到制品清单的每个文件,不要将“org.opencontainers.image.title”注释设置为与文件的基本名称相同。从注册表检索制品的工具可能会使用这些值在将制品保存到磁盘时选择文件名,因此除非需要与特定注册表互操作,否则不建议使用此选项。

--artifact-layer-type=类型

创建制品清单并将其添加到镜像索引时,使用指定的 MIME 类型作为与文件内容关联的 mediaType。如果未指定,将根据文件名或其内容进行猜测和使用,但如果需要确定性,则应指定该选项。

--artifact-subject=镜像名称

创建制品清单并将其添加到镜像索引时,设置制品清单中的 subject 字段,以标记制品清单以某种方式与指定的镜像关联。一个制品清单最多只能与一个 subject 关联。

--artifact-type=类型

创建制品清单时,使用指定的 MIME 类型作为清单的 artifactType 值,而不是信息较少的默认值。

--authfile=path

认证文件的路径。在 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=路径 来完成。

--cert-dir=path

使用 路径 中的证书(*.crt、*.cert、*.key)连接到注册表。(默认值:/etc/containers/certs.d)有关详细信息,请参阅 containers-certs.d(5)。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)

--creds=[username[:password]]

用于向镜像仓库进行身份验证的 [username[:password]](如果需要)。如果未提供一个或两个值,则会出现命令行提示,可以输入该值。密码输入时无回显。

请注意,指定的凭据仅用于对目标注册表进行身份验证。它们不用于镜像或注册表被重写时(请参阅 containers-registries.conf(5));要对这些进行身份验证,请考虑使用 containers-auth.json(5) 文件。

--features=功能

指定列表或索引记录的镜像所需功能列表。此选项很少使用。

--os=OS

覆盖列表或索引记录的镜像所需操作系统。如果 imagename 指的是清单列表或镜像索引,则从中检索操作系统信息。否则,从镜像的配置信息中检索。

--os-version=version

指定列表或索引记录的镜像所需操作系统版本。此选项很少使用。

--tls-verify

联系注册表时要求使用 HTTPS 并验证证书(默认值:true)。如果明确设置为 true,则使用 TLS 验证。如果设置为 false,则不使用 TLS 验证。如果未指定,除非目标注册表在 containers-registries.conf(5) 中被列为不安全注册表,否则将使用 TLS 验证

--variant

指定列表或索引为镜像记录的变体。此选项通常用于区分具有相同架构值但期望其指令集不同版本的多个条目。

传输

支持多种传输

docker://docker-reference (默认) 在实现“Docker Registry HTTP API V2”的注册表中的镜像。默认情况下,使用 $XDG_RUNTIME_DIR/containers/auth.json 中的授权状态,该文件通过 (podman login) 设置。如果在此处找不到授权状态,则会检查 $HOME/.docker/config.json,该文件通过 (docker login) 设置。

$ podman manifest add mylist:v1.11 docker://quay.io/username/myimage

containers-storage:oci-referenceoci-reference 格式存储在本地容器存储中的镜像。oci-reference 必须包含一个标签。

$ podman manifest add mylist:v1.11 containers-storage:quay.io/username/myimage

dir:路径 存储清单、层 tarball 和签名为单个文件的现有本地目录 路径。这是一种非标准化格式,主要用于调试或无创容器检查。

$ podman manifest add dir:/tmp/myimage

docker-archive:路径[:docker-reference] 镜像存储在 docker save 格式文件中。docker-reference 仅在创建此类文件时使用,并且不得包含摘要。

$ podman manifest add docker-archive:/tmp/myimage

docker-daemon:docker-referencedocker-reference 格式存储在 docker 守护进程内部存储中的镜像。docker-reference 也可以是镜像 ID (docker-daemon:algo:digest)。

$ sudo podman manifest add docker-daemon:docker.io/library/myimage:33

oci-archive:路径:标签 目录中符合“开放容器镜像布局规范”的镜像 标签,路径为 路径

$ podman manifest add oci-archive:/tmp/myimage

示例

将指定默认镜像从源清单列表添加到目标清单列表

podman manifest add mylist:v1.11 docker://fedora
71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

将所有镜像从源清单列表添加到目标清单列表

podman manifest add --all mylist:v1.11 docker://fedora
71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

将匹配架构和变体的选定镜像从源清单列表添加到目标清单列表

podman manifest add --arch arm64 --variant v8 mylist:v1.11 docker://71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

另请参阅

podman(1), podman-manifest(1)