4.9. マルチアーキテクチャーイメージのビルド
前提条件
container-tools
メタパッケージがインストールされている。-
サポートする必要がある各アーキテクチャーの
Containerfiles
を作成します。 各アーキテクチャー用のイメージをビルドします。以下に例を示します。
podman build --platform linux/arm64,linux/amd64 --manifest <registry>/<image> .
$ podman build --platform linux/arm64,linux/amd64 --manifest <registry>/<image> .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--platform linux/arm64,linux/amd64
オプションは、コンテナーイメージのビルド対象のターゲットプラットフォームを指定します。 -
--manifest <registry>/<image>
オプションは、指定の名前 (<registry>/<image>
) を含むマニフェストリストを作成し、新しくビルドされたイメージをそのリストに追加します。マニフェストリストは、それぞれ異なるアーキテクチャーをターゲットとするイメージマニフェストのコレクションです。
-
マニフェストリストをレジストリーにプッシュします。
podman manifest push <registry>/<image>
$ podman manifest push <registry>/<image>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このマニフェストリストは、マルチアーキテクチャーコンテナーをプルする際の唯一のエントリーポイントとして機能します。
-
サポートする必要がある各アーキテクチャーの
これにより、単一のマニフェストリストに基づいて、プラットフォームに適したコンテナーイメージをプルできるようになります。
また、podman manifest remove <manifest_list> <digest_ID>
コマンドを使用すると、マニフェストリストから項目を削除できます。<digest_ID>
は、コンテナーイメージの SHA-256 チェックサムです。例: podman manifest remove <registry>/<image> sha256:cb8a924afdf…
検証
マニフェストリストを表示します。
podman manifest inspect <registry>/<image>
$ podman manifest inspect <registry>/<image>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow