5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Container RegistryからArtifact Registryへ移行する際に陥る罠

Last updated at Posted at 2023-01-22

はじめに

Google Cloud Platformにおけるコンテナイメージの保存と管理は今までContainer Registryが提供されていましたが、今後提供される新しい機能などはArtifact Registryの方に盛り込まれるそうです。
それゆえ、新規プロジェクトで用いるならばArtifact Registryを採用した方が何かと良さそうです。
今回初めてこのArtifact Registryを利用したのですが、幾つか罠があったので書き留めておきます。

注意点その1 Docker認証が違う

Dockerコマンドでpullやpushを行う際、Dockerの認証が必要ですが、それぞれコマンドが異なります。

  • Container Registryの場合
gcloud auth configure-docker
  • Artifact Registryの場合
gcloud auth configure-docker [選択したリージョン]-docker.pkg.dev

まぁ、これはリポジトリのドメインがContainer Registryの場合、gcr.ioで固定だったから指定しなくてもよかった、っていうので普通にわかるんですよ。
問題は次、、、

注意点その2 リポジトリの階層が違う

これが分かっていなくて、認証通ってるのにpushできず半日無駄な時間を使ってしまいました、、、

  • Container Registryの場合
gcr.io/[作成プロジェクトID(固定)]/[イメージ名+タグ(任意)]
  • Artifact Registryの場合
[選択したリージョン]-docker.pkg.dev/[作成プロジェクトID(固定)]/[リポジトリ名(任意)]/[イメージ名+タグ(任意)]

そうです。Artifact Registryになって[リポジトリ名(任意)]というのが増えているんです。
TerraformでContainer Registryと同じ感覚でArtifact Registryを作成したら実はそれはイメージ名でなくリポジトリ名だったので、Container Registryと同じ階層の名前でpushしても全然できないという、、、
権限も確実にあるし、認証も通ってるし、、、何なんだ!と思いながら公式を隅から隅まで読んでたらそれに気づいたという、、、

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?