1.3. コンテナーレジストリーへの認証


プライベートコンテナーレジストリーにイメージをプッシュするには、該当する名前空間に シークレット を作成し、それを ビルド カスタムリソース (CR) で参照する必要があります。

前提条件

  • OpenShift Container Platform クラスターに Builds for Red Hat OpenShift Operator がインストールされている。
  • oc CLI がインストールされている。

手順

  1. 秘密 オブジェクトを生成するには、次のコマンドを実行してください。

    $ oc --namespace <namespace> create secret docker-registry <container_registry_secret_name> \
      --docker-server=<registry_host> \
      --docker-username=<username> \
      --docker-password=<password> \
      --docker-email=<email_address>

    各項目の説明:

    <namespace>
    シークレットを作成する名前空間を指定します。
    < コンテナーレジストリーシークレット名 >
    コンテナーレジストリー認証情報を格納する シークレット リソースの名前を指定します。
    < レジストリーホスト >
    レジストリー URL を https://<registry_server>/<registry_host> の 形式で指定します。
    <username>
    レジストリーユーザー名を指定します。
    <password>
    コンテナーレジストリーのパスワードまたはアクセストークンを指定します。
    < メールアドレス >
    コンテナーレジストリー認証情報に関連付けられたメールアドレスを指定します。
  2. 次のコマンドを実行して、シークレットにアノテーションを付けます。

    $ oc --namespace <namespace> annotate secrets <container_registry_secret_name> build.shipwright.io/referenced.secret='true'

    各項目の説明:

    <namespace>
    シークレットを作成する名前空間を指定します。
    < コンテナーレジストリーシークレット名 >
    コンテナーレジストリー認証情報を格納する シークレット リソースの名前を指定します。
  3. spec.output.pushSecret フィールドの値を Build CR のシークレット名に設定します。

    apiVersion: shipwright.io/v1beta1
    kind: Build
    metadata:
      name: buildah-golang-build
      # ...
      output:
        image: <path_to_image>
        pushSecret: <container_registry_secret_name>

    以下は、

    < イメージへのパス >
    出力イメージの保存場所を指定します。
    < コンテナーレジストリーシークレット名 >
    コンテナーレジストリー認証情報を格納する シークレット リソースの名前を指定します。
  4. ビルド CR を使用してビルドを実行します。イメージのプッシュ中に、コンテナーレジストリーの認証情報が検証されます。認証に失敗した場合、ビルドはイメージをプッシュしません。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る