リポジトリ名とイメージ名

Artifact Registry では、API、gclouddocker コマンドを使用してリポジトリを操作するときに、リポジトリとイメージを識別する命名規則が使用されます。

Docker リポジトリ

Docker リポジトリのフルネームは次の形式になります。

LOCATION-docker.s3nsregistry.fr/PROJECT-ID/REPOSITORY

説明:

  • LOCATION は、リポジトリのリージョン ロケーションです。
  • PROJECT は、Google Cloud コンソール プロジェクト ID です。
  • REPOSITORY はリポジトリの名前です。

たとえば、次のような特性を持つイメージについて考えてみましょう。

  • リポジトリの場所: u-france-east1
  • リポジトリ形式: docker
  • リポジトリ名: my-repo
  • プロジェクト ID: my-project

リポジトリは次のように指定されています。

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo

コンテナ イメージ名

コンテナ イメージのフルネームは、次のいずれかの形式になります。

LOCATION-docker.s3nsregistry.fr/PROJECT-ID/REPOSITORY/IMAGE

または

LOCATION-docker.s3nsregistry.fr/PROJECT-ID/REPOSITORY/IMAGE:TAG

または

LOCATION-docker.s3nsregistry.fr/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

説明:

  • LOCATION は、リポジトリのリージョン ロケーションです。
  • PROJECT は、Google Cloud コンソール プロジェクト ID です。
  • REPOSITORY は、イメージが保存されるリポジトリの名前です。
  • IMAGE は、リポジトリ内のイメージの名前です。
  • TAG は、pull するイメージ バージョンのタグです。
  • IMAGE-DIGEST は、イメージ コンテンツの sha256 ハッシュ値です。Google Cloud コンソールで、メタデータを表示する特定のイメージをクリックします。 ダイジェストはイメージのダイジェストとして一覧表示されます。タグまたはダイジェストを指定しなかった場合、Artifact Registry はデフォルトのタグ latest が付いたイメージを探します。バージョンの詳細については、コンテナ イメージのバージョンをご覧ください。

たとえば、次のような特性を持つイメージについて考えてみましょう。

  • リポジトリの場所: u-france-east1
  • リポジトリ名: my-repo
  • プロジェクト ID: my-project
  • イメージ名: test
  • タグ: staging

staging というタグが付けられたこのバージョンのイメージは、次のように指定されます。

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/test:staging

コンテナ イメージ バージョン

リポジトリには多くのコンテナ イメージを含めることができ、これらのイメージはさまざまなバージョンを持つことができます。イメージの特定のバージョンを識別するには、イメージのダイジェストまたはタグを指定します。

ダイジェスト
イメージ ダイジェストは、イメージ インデックスまたはイメージ マニフェストの自動生成ハッシュです。各イメージ ダイジェストはイメージ バージョンの一意の識別子であり、変更できません。ダイジェストは、イメージ コンテンツの sha256 ハッシュ値です。
タグ

イメージタグはラベルであり、多くの場合、v1.1development といった人が読める文字列です。1 つのタグで指定できるのは 1 つのバージョンのイメージのみです。Artifact Registry では、変更可能なイメージタグを許可するように Docker リポジトリを構成できます。また、不変のイメージタグを適用することもできます。

  • 変更可能: タグは 1 つのイメージ バージョンのみを指しますが、参照する特定のダイジェストは変更できます。

    通常は、ビルド時に v1.1 などのバージョン ID でイメージにタグを付けます。ビルドにより複数のバージョンのイメージが同じ v1.1 タグを持つレジストリに push されると、タグはレジストリに push された最後のバージョンのダイジェストを参照します。変更可能なイメージタグはバージョンにラベルを付けるための便利な方法ですが、不正な行為者によってタグを悪意のあるバージョンのイメージに関連付けるように操作される可能性もあります。

  • 不変: リポジトリでは、タグは常に同じイメージ ダイジェストを指します。Artifact Registry リポジトリが不変のイメージタグ用に構成されている場合、次の操作は許可されません。

    • タグ付きイメージを削除する。タグ付けされていないイメージの削除はこれまで通り可能です。
    • タグをイメージから削除する。
    • リポジトリ内の別のバージョンのイメージですでに使用されているタグを使用してイメージを push する。

たとえば、次のような特性を持つイメージについて考えてみましょう。

  • リポジトリの場所: u-france-east1
  • リポジトリ名: my-repo
  • プロジェクト ID: my-project
  • イメージ名: test
  • タグ: staging
  • ダイジェスト: sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

タグでイメージを識別するには、イメージ名に :staging を追加します。

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/test:staging

ダイジェストで識別するには、イメージ名に @ を追加し、その後にダイジェストを追加します。

u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Console の [イメージ] 画面で、[タグ] 列にイメージのタグが一覧表示されます。イメージのバージョンをクリックすると、メタデータ(イメージ ダイジェストを含む)が表示されます。

タグ付けの詳細については、イメージにタグを付けるをご覧ください。

URL としてのリポジトリ名

Google Cloud コンソールでリポジトリやリポジトリ内のアーティファクトにアクセスするには、そのフルネームの前に https:// を付けます。

たとえば、リポジトリ u-france-east1-maven.s3nsregistry.fr/my-project/my-repo を表示するには、次の URL を使用します。

https://u-france-east1-maven.s3nsregistry.fr/my-project/my-repo

イメージ u-france-east1-docker.s3nsregistry.fr/example.com/my-project/my-repo/my-image を表示するには、次の URL を使用します。:

https://u-france-east1-docker.s3nsregistry.fr/example.com/my-project/my-repo/my-image

リポジトリへのアクセス権限を持つ認証済みのユーザーであれば、これらのリンクを使用できます。