GCP で Container Registry のイメージを全件一括削除する方法
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-tagsgcloud container images list-tags でタグの一覧を取得して gcloud container images delete で削除を行います。
間違うと危険なので暴発しないように注意が必要です。
IMAGE_NAME は gcr.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.