GCP で Container Registry のイメージを全件一括削除する方法

Google Cloud Platform

GCP で Container Registry のイメージを全件一括削除する方法についてです。

確認時のバージョン

❯ gcloud --version
Google Cloud SDK 453.0.0
bq 2.0.98
core 2023.10.27
gcloud-crc32c 1.0.0
gsutil 5.27

ブラウザの GUI でぽちぽちやるのでもよいですが gcloud の方がかんたんで速いです。

IMAGE_NAME='...'
gcloud container images list-tags "${IMAGE_NAME}" --format='get(digest)' | \
  xargs -I {} -P0 \
    gcloud container images delete "${IMAGE_NAME}@{}" --quiet --force-delete-tags

gcloud container images list-tags でタグの一覧を取得して gcloud container images delete で削除を行います。 間違うと危険なので暴発しないように注意が必要です。

IMAGE_NAMEgcr.io/[PROJECT]/[IMAGE] などです。

xargs-P: パラレルモード。最大で指定された数までプロセスを増やす。 -P0 だと可能なかぎり増やす。

-P maxprocs, --max-procs=maxprocs
   Parallel mode: run at most maxprocs invocations of utility at once.
   If maxprocs is set to 0, xargs will run as many processes as possible.

アバター
後藤隼人 ( ごとうはやと )

Python や PHP を使ってソフトウェア開発やウェブ制作をしています。詳しくはこちら