14.3. コンテナープルシークレットの設定


コンテナーイメージを取得できるようにするには、ホストシステムを "プルシークレット" を使用して設定する必要があります。これには、ホスト自体の更新も含まれます。詳細は、Image Mode for RHEL でのシークレットの注入 ドキュメントに関する付録を参照してください。

コンテナープルシークレットは、すでにビルドされたイメージに設定できます。ベアメタル用の Anaconda などの外部インストーラーや bootc-image-builder を使用する場合は、適切なプルシークレットを使用してシステムを設定する必要があります。

ホストの bootc 更新では、rpm-ostree と共有される /etc/ostree/auth.json ファイルに設定が書き込まれます。

Podman にはシステム全体の認証情報がありません。Podman は、次のディレクトリー配下にある containers-auth の場所を受け付けます。

  • /run: このディレクトリーの内容は再起動時に消去されます。これは望ましくありません。
  • /root: root のホームディレクトリーの一部。デフォルトではローカルで変更可能な状態です。

bootc と Podman の認証情報を統合するには、bootc と Podman の両方に単一のデフォルトのグローバルプルシークレットを使用します。次のコンテナービルドは、bootc と Podman の認証情報を統合する例です。この例では、creds という名前のシークレットに、ビルドするレジストリープルシークレットが含まれていることを想定しています。

手順

  1. 単一のプルシークレットを使用するために、bootc と Podman の間にシンボリックリンクを作成します。シンボリックリンクを作成することにより、コンテナーイメージに埋め込まれる共通の永続ファイルに対する両方の場所を確保できます。
  2. /usr/lib/container-auth.json ファイルを作成します。

    Copy to Clipboard Toggle word wrap
    FROM quay.io/<namespace>/<image>:<tag>
    COPY containers-auth.conf /usr/lib/tmpfiles.d/link-podman-credentials.conf
    RUN --mount=type=secret,id=creds,required=true cp /run/secrets/creds /usr/lib/container-auth.json && \
        chmod 0600 /usr/lib/container-auth.json && \
        ln -sr /usr/lib/container-auth.json /etc/ostree/auth.json

    Containerfile を実行すると、次の操作が実行されます。

    • Containerfile により、/run/containers/0/auth.json が一時的なランタイムファイルになります。
    • /usr/lib/container-auth.json へのシンボリックリンクが作成されます。
    • また、永続ファイルも作成されます。このファイルにも、/etc/ostree/auth.json からのシンボリックリンクが設定されます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.