4.8. マルチアーキテクチャーイメージのビルド


podman build --platform コマンドを使用すると、マルチアーキテクチャーコンテナーイメージを作成できます。コンテナーイメージは、通常 x86 や ARM などの特定のアーキテクチャー用にビルドされます。ハードウェアの多様性とクラウドプラットフォームの拡大に伴い、マルチアーキテクチャーのサポートが不可欠となり、同じイメージをさまざまなアーキテクチャーにデプロイできるようになりました。

前提条件

  • container-tools モジュールがインストールされている。

手順

  1. サポートする必要がある各アーキテクチャーの Containerfiles を作成します。
  2. 各アーキテクチャー用のイメージをビルドします。以下に例を示します。

    $ podman build --platform linux/arm64,linux/amd64 --manifest <registry>/<image> .
    • --platform linux/arm64,linux/amd64 オプションは、コンテナーイメージのビルド対象のターゲットプラットフォームを指定します。
    • --manifest <registry>/<image> オプションは、指定の名前 (<registry>/<image>) を含むマニフェストリストを作成し、新しくビルドされたイメージをそのリストに追加します。マニフェストリストは、それぞれ異なるアーキテクチャーをターゲットとするイメージマニフェストのコレクションです。
  3. マニフェストリストをレジストリーにプッシュします。

    $ podman manifest push <registry>/<image>

    このマニフェストリストは、マルチアーキテクチャーコンテナーをプルする際の唯一のエントリーポイントとして機能します。

これにより、単一のマニフェストリストに基づいて、プラットフォームに適したコンテナーイメージをプルできるようになります。

また、podman manifest remove <manifest_list> <digest_ID> コマンドを使用すると、マニフェストリストから項目を削除できます。<digest_ID> は、コンテナーイメージの SHA-256 チェックサムです。例: podman manifest remove <registry>/<image> sha256:cb8a924afdf…​

検証

  • マニフェストリストを表示します。

    $ podman manifest inspect <registry>/<image>

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.