14.4. イメージタグへのリファラーの割り当て


次の手順では、oras CLI を使用して、OCI ディストリビューション仕様 1.1 でサポートされているさまざまなスキーマを使用して、イメージタグにリファラーを割り当てる方法を示します。これは、コンテナーイメージへのリファラーなど、追加のメタデータを割り当ておよび管理するのに役立ちます。

前提条件

  • oras CLI をダウンロードした。詳細は、Installation を参照してください。
  • OCI メディアアーティファクトにアクセスできる。

手順

  1. 次のコマンドを入力して、OCI メディアアーティファクトにタグを付けます。

    $ podman tag <myartifact_image> <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag>
    Copy to Clipboard Toggle word wrap
  2. アーティファクトを Red Hat Quay レジストリーにプッシュします。以下に例を示します。

    $ podman push <myartifact_image> <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag>
    Copy to Clipboard Toggle word wrap
  3. oras で OCI 1.1 リファラーの API スキーマを使用してマニフェストを割り当てるには、次のコマンドを入力します。

    $ oras attach --artifact-type <MIME_type> --distribution-spec v1.1-referrers-api <myartifact_image> \
    <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag> \
    <example_file>.txt
    Copy to Clipboard Toggle word wrap

    出力例

    -spec v1.1-referrers-api quay.io/testorg3/myartifact-image:v1.0 hi.txt
    ✓ Exists    hi.txt                                                               3/3  B 100.00%     0s
      └─ sha256:98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
    ✓ Exists    application/vnd.oci.empty.v1+json                                    2/2  B 100.00%     0s
      └─ sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
    ✓ Uploaded  application/vnd.oci.image.manifest.v1+json                       723/723  B 100.00%  677ms
      └─ sha256:31c38e6adcc59a3cfbd2ef971792aaf124cbde8118e25133e9f9c9c4cd1d00c6
    Attached to [registry] quay.io/testorg3/myartifact-image@sha256:db440c57edfad40c682f9186ab1c1075707ce7a6fdda24a89cb8c10eaad424da
    Digest: sha256:31c38e6adcc59a3cfbd2ef971792aaf124cbde8118e25133e9f9c9c4cd1d00c6
    Copy to Clipboard Toggle word wrap

  4. OCI 1.1 リファラーの tag スキーマを使用してマニフェストを割り当てるには、次のコマンドを入力します。

    $ oras attach --artifact-type <MIME_type> --distribution-spec v1.1-referrers-tag \
    <myartifact_image> <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag> \
    <example_file>.txt
    Copy to Clipboard Toggle word wrap

    出力例

    ✓ Exists    hi.txt                                                             3/3  B 100.00%     0s
      └─ sha256:98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
    ✓ Exists    application/vnd.oci.empty.v1+json                                  2/2  B 100.00%     0s
      └─ sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
    ✓ Uploaded  application/vnd.oci.image.manifest.v1+json                     723/723  B 100.00%  465ms
      └─ sha256:2d4b54201c8b134711ab051389f5ba24c75c2e6b0f0ff157fce8ffdfe104f383
    Attached to [registry] quay.io/testorg3/myartifact-image@sha256:db440c57edfad40c682f9186ab1c1075707ce7a6fdda24a89cb8c10eaad424da
    Digest: sha256:2d4b54201c8b134711ab051389f5ba24c75c2e6b0f0ff157fce8ffdfe104f383
    Copy to Clipboard Toggle word wrap

  5. tag スキーマを使用してアーティファクトのリファラーを検出するには、次のコマンドを入力します。

    $ oras discover --insecure --distribution-spec v1.1-referrers-tag \
    <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag>
    Copy to Clipboard Toggle word wrap

    出力例

    quay.io/testorg3/myartifact-image@sha256:db440c57edfad40c682f9186ab1c1075707ce7a6fdda24a89cb8c10eaad424da
    └── doc/example
        └── sha256:2d4b54201c8b134711ab051389f5ba24c75c2e6b0f0ff157fce8ffdfe104f383
    Copy to Clipboard Toggle word wrap

  6. API スキーマを使用してアーティファクトのリファラーを検出するには、次のコマンドを入力します。

    $ oras discover --distribution-spec v1.1-referrers-api \
    <quay-server.example.com>/<organization_name>/<repository>/<image_name>:<tag>
    Copy to Clipboard Toggle word wrap

    出力例

    Discovered 3 artifacts referencing v1.0
    Digest: sha256:db440c57edfad40c682f9186ab1c1075707ce7a6fdda24a89cb8c10eaad424da
    
    Artifact Type   Digest
                    sha256:2d4b54201c8b134711ab051389f5ba24c75c2e6b0f0ff157fce8ffdfe104f383
                    sha256:22b7e167793808f83db66f7d35fbe0088b34560f34f8ead36019a4cc48fd346b
                    sha256:bb2b7e7c3a58fd9ba60349473b3a746f9fe78995a88cb329fc2fd1fd892ea4e4
    Copy to Clipboard Toggle word wrap

  7. オプション: /v2/<organization_name>/<repository_name>/referrers/<sha256_digest> エンドポイントを使用してリファラーを検出することもできます。これを機能させるには、v2 API トークンを生成し、config.yaml ファイルで FEATURE_REFERRERS_API: true を設定する必要があります。

    1. config.yaml ファイルを更新して、FEATURE_REFERRERS_API フィールドを含めます。以下に例を示します。

      # ...
      FEATURE_REFERRERS_API: true
      # ...
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを入力し、認証情報を Base64 でエンコードします。

      $ echo -n '<username>:<password>' | base64
      Copy to Clipboard Toggle word wrap

      出力例

      abcdeWFkbWluOjE5ODlraWROZXQxIQ==
      Copy to Clipboard Toggle word wrap

    3. 次のコマンドを入力して、base64 でエンコードされたトークンを使用し、URL エンドポイントを Red Hat Quay サーバーに変更します。

      $ curl --location '<quay-server.example.com>/v2/auth?service=<quay-server.example.com>&scope=repository:quay/listocireferrs:pull,push' --header 'Authorization: Basic <base64_username:password_encode_token>' -k | jq
      Copy to Clipboard Toggle word wrap

      出力例

      {
        "token": "<example_token_output>..."
      }
      Copy to Clipboard Toggle word wrap

  8. リポジトリー配下のマニフェストの OCI リファラーをリスト表示するには、v2 API トークンを使用して次のコマンドを入力します。

    $ GET https://<quay-server.example.com>/v2/<organization_name>/<repository_name>/referrers/sha256:0de63ba2d98ab328218a1b6373def69ec0d0e7535866f50589111285f2bf3fb8
    --header 'Authorization: Bearer <v2_bearer_token> -k | jq
    Copy to Clipboard Toggle word wrap

    出力例

    {
      "schemaVersion": 2,
      "mediaType": "application/vnd.oci.image.index.v1+json",
      "manifests": [
        {
          "mediaType": "application/vnd.oci.image.manifest.v1+json",
          "digest": "sha256:2d4b54201c8b134711ab051389f5ba24c75c2e6b0f0ff157fce8ffdfe104f383",
          "size": 793
        },
      ]
    }
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat