NAME 名称

podman-manifest - Create and manipulate manifest lists and image indexes
podman-manifest - 创建和操作清单列表和镜像索引

SYNOPSIS 概要

podman manifest subcommand
podman manifest 子命令

DESCRIPTION 描述

The podman manifest command provides subcommands which can be used to:
podman manifest 命令提供子命令,可用于:

* Create a working Docker manifest list or OCI image index.

SUBCOMMANDS 子命令 ¶

Command

Man Page 手册页

Description

add

podman-manifest-add(1)

Add an image or artifact to a manifest list or image index.
将镜像或构件添加到清单列表或镜像索引。

annotate

podman-manifest-annotate(1)

Add and update information about an image or artifact in a manifest list or image index.
在清单列表或镜像索引中添加和更新有关图像或工件的信息。

create

podman-manifest-create(1)

Create a manifest list or image index.
创建清单列表或镜像索引。

exists

podman-manifest-exists(1)

Check if the given manifest list exists in local storage
检查本地存储中是否存在给定的清单列表

inspect

podman-manifest-inspect(1)

Display a manifest list or image index.
显示清单列表或镜像索引。

push

podman-manifest-push(1)

Push a manifest list or image index to a registry.
将清单列表或镜像索引推送到注册表。

remove

podman-manifest-remove(1)

Remove an image from a manifest list or image index.
从清单列表或镜像索引中删除一个镜像。

rm

podman-manifest-rm(1)

Remove manifest list or image index from local storage.
从本地存储中删除清单列表或镜像索引。

EXAMPLES 示例

Building a multi-arch manifest list from a Containerfile
从 Containerfile 构建多架构清单列表 ¶

Assuming the Containerfile uses RUN instructions, the host needs a way to execute non-native binaries. Configuring this is beyond the scope of this example. Building a multi-arch manifest list shazam in parallel across 4-threads can be done like this:
假设 Containerfile 使用 RUN 指令,主机需要一种执行非本机二进制文件的方法。配置这一点超出了本示例的范围。可以像这样同时在 4 个线程中构建多架构清单列表 shazam

    $ platarch=linux/amd64,linux/ppc64le,linux/arm64,linux/s390x
    $ podman build --jobs=4 --platform=$platarch --manifest shazam .

Note: The --jobs argument is optional. Do not use the podman build command’s --tag (or -t) option when building a multi-arch manifest list.
注意: --jobs 参数是可选的。在构建多架构清单列表时,请勿使用 podman build 命令的 --tag (或 -t )选项。

Assembling a multi-arch manifest from separately built images
从单独构建的图像组装多架构清单 ¶

Assuming example.com/example/shazam:$arch images are built separately on other hosts and pushed to the example.com registry. They may be combined into a manifest list, and pushed using a simple loop:
假设 example.com/example/shazam:$arch 图像是在其他主机上单独构建并推送到 example.com 注册表的。它们可以合并为清单列表,并使用简单的循环推送:

    $ REPO=example.com/example/shazam
    $ podman manifest create $REPO:latest
    $ for IMGTAG in amd64 s390x ppc64le arm64; do \
              podman manifest add $REPO:latest docker://$REPO:IMGTAG; \
          done
    $ podman manifest push --all $REPO:latest

Note: The add instruction argument order is <manifest> then <image>. Also, the --all push option is required to ensure all contents are pushed, not just the native platform/arch.
注意: add 指令参数顺序是 <manifest> 然后 <image> 。此外,需要使用 --all 推送选项来确保所有内容都被推送,而不仅仅是本地平台/架构。

Removing and tagging a manifest list before pushing
在推送之前删除和标记清单列表

Special care is needed when removing and pushing manifest lists, as opposed to the contents. You almost always want to use the manifest rm and manifest push --all subcommands. For example, a rename and push can be performed like this:
在删除和推送清单列表时需要特别小心,与内容相反。您几乎总是希望使用 manifest rmmanifest push --all 子命令。例如,可以像这样执行重命名和推送:

    $ podman tag localhost/shazam example.com/example/shazam
    $ podman manifest rm localhost/shazam
    $ podman manifest push --all example.com/example/shazam

SEE ALSO 参见 ¶

podman(1), podman-manifest-add(1), podman-manifest-annotate(1), podman-manifest-create(1), podman-manifest-inspect(1), podman-manifest-push(1), podman-manifest-remove(1)