本日も乙

ただの自己満足な備忘録。

Google Container Registry (GCR) のリポジトリ一覧を一発で取得する

小ネタです。
特定の GCP プロジェクトにある Google Container Registry (GCR) リポジトリ一覧を取得しようと、gcloud container images list コマンドを実行したのですが、 Listed 0 items. となってしまいました。

$ gcloud container images list
Listed 0 items.
Only listing images in gcr.io/xxxxx. Use --repository to list images in other repositories.

--repository オプションを指定しない場合、デフォルトで gcr.io/<project> のリポジトリを取得するようになっています。私の場合、GCR リポジトリのホスト名が asia.gcr.io だったため、マッチしなかったのが原因でした。

$ gcloud container images list --repository "asia.gcr.io/xxxxx"
NAME
asia.gcr.io/xxxxx/yyyyyyy

ホスト名がすべて asia.gcr.io であれば話は早いのですが、他のホストになっているリポジトリもあるため、すべて取得するにはやや面倒です。

そこで、こんな風な簡単な Bash スクリプトを実行できればホスト名を気にすること無く、GCRリポジトリの一覧を取得することができます。

gist.github.com

--repository オプションはつい見逃しがちになりますので注意したいですね。

参考