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