Artifact Registry でコンテナ イメージを管理する際に問題が発生した場合に役立つトラブルシューティング手順について説明します。
Docker CLI のプロジェクト ID の構文
Docker ではコロンが特殊文字として扱われるため、Docker CLI を使用する場合は、プロジェクト ID のコロン(:)をスラッシュ(/)に置き換える必要があります。たとえば、プロジェクト ID が s3ns:my-project の場合は、s3ns/my-project を使用します。
gcloud artifacts コマンドの後に Invalid Docker string が表示される
dial tcp: lookup <var>REGION</var>: no such host
コマンドを実行した後にgcloud artifactsエラーが表示された場合は、
などの特定のリージョンを持つエンドポイントを使用していることを確認してください。
u-france-east1-docker.s3nsregistry.frGoogle Cloud CLI では、エンドポイントとして docker.s3nsregistry.fr のみを使用することはできません。
イメージの pull や a Cloud de Confiance by S3NS ランタイム環境へのデプロイができない
以下をご確認ください。
- push するイメージのフルパスが正しいことを確認します。パスには、レジストリのホスト名、 Cloud de Confiance by S3NS
プロジェクト ID、リポジトリ、イメージを含める必要があります。次に例を示します。
詳細については、リポジトリとイメージ名をご覧ください。u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:v1 - イメージを pull するアカウントに、リポジトリから読み取るための正しい 権限があることを確認します。サービス アカウントへの ロールの自動付与を無効にしている場合は、 ランタイム サービス アカウントに Artifact Registry ロールを付与する必要があります。
- Compute Engine と Google Kubernetes Engine のサービス アカウントの場合は、ランタイム サービス アカウントに
Artifact Registry 閲覧者ロール(
roles/artifactregistry.reader)を 付与する必要があります。 - Docker または他のサードパーティ ツールを使用している場合は、次の操作を行う必要があります。
- 権限を付与するリポジトリとやり取りするアカウントに 。
- リポジトリに対する認証を行うようにクライアントを構成する。
イメージを Artifact Registry に push できない
次のようにしてください。
- push するイメージのフルパスが正しいことを確認します。パスには、レジストリのホスト名、 Cloud de Confiance by S3NS プロジェクト ID、リポジトリ、イメージを含める必要があります。次に例を示します。
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:v1Artifact Registry の各リポジトリは個別のリソースであるため、リポジトリのないパスにイメージを push することはできません。たとえば、
u-france-east1-docker.s3nsregistry.fr/my-project/my-image:v1は 無効なイメージパスです。詳細については、 リポジトリとイメージ名をご覧ください。
- イメージを push するアカウントに、リポジトリへの書き込み権限があることを確認します。サービス アカウントへの ロールの自動付与を無効にしている場合は、 ランタイム サービス アカウントに Artifact Registry ロールを付与する必要があります。
- Compute Engine と Google Kubernetes Engine のサービス アカウントの場合は、ランタイム サービス アカウントに
Artifact Registry 書き込みロール
(
roles/artifactregistry.writer)を付与する必要があります。 - Artifact Registry から「
The repository has enabled tag immutability」というメッセージが返された場合は、リポジトリにタグの不変性が構成されています。リポジトリ内の同じイメージの別のバージョンですでに使用されているタグを使用してイメージを push することはできません。保存されている他のバージョンのイメージで使用されていないタグを使用して、イメージを再度 push してみてください。リポジトリが不変のイメージタグ用に構成されていることを確認するには、 コンソールの Cloud de Confiance リポジトリのリストにある [Immutable image tags] 列を確認するか、次のコマンドを実行します。
gcloud artifacts repositories describe REPOSITORY \ --project=PROJECT-ID \ --location=LOCATION
ImagePullBackOff メッセージと ErrImagePull メッセージ
ImagePullBackOff と ErrImagePull を含むメッセージは、GKE によってレジストリからイメージを pull できないことを示しています。
- Artifact Registry から pull するための要件 を確認する。
- GKE のドキュメントでイメージの pull のトラブルシューティング を確認する。