Container Registry のイメージをクリーンアップする

Container Registry の使用を停止する準備ができたら、Container Registry のストレージ バケットを削除して、残りのイメージを削除します。

リダイレクトが有効な場合、gcr.io パス内のイメージを削除するコマンドでは、対応する Artifact Registry gcr.io リポジトリ内のイメージが削除されますが、Container Registry ホストに保存されているイメージは削除されません。

すべての Container Registry イメージを安全に削除するには、各 Container Registry ホスト名の Cloud Storage バケットを削除します。

Cloud Storage バケットを削除する前に、Artifact Registry に移行することをおすすめします。

各 Container Registry ストレージ バケットを削除するには:

コンソール

  1. Google Cloud コンソールの [Cloud Storage] ページに移動します。
  2. 削除するストレージ バケットを選択します。バケット名では、PROJECT-ID が Google Cloud のプロジェクト ID です。

    • gcr.io: artifacts.PROJECT-ID.appspot.com
    • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
    • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
    • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com
  3. [削除] をクリックします。確認ダイアログボックスが表示されます。

  4. 削除を確定するには、バケット名を入力して [削除] をクリックします。

gcloud

バケット内の数十万個以上のイメージを一括削除する場合は、削除プロセスに非常に時間がかかるため、gcloud CLI の使用を避けてください。代わりに、Google Cloud コンソールを使用してオペレーションを実行します。詳細については、Cloud Storage オブジェクトの一括削除をご覧ください。

バケットを削除するには、gcloud storage rm コマンドを使用し、--recursive フラグを指定します。

gcloud storage rm gs://BUCKET-NAME --recursive

BUCKET-NAME を Container Registry ストレージのバケット名に置き換えます。バケット名では、Google Cloud のプロジェクト IDPROJECT-ID です。

  • gcr.io: artifacts.PROJECT-ID.appspot.com
  • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
  • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
  • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com

次の例のようなレスポンスになります。

Removing gs://artifacts.my-project.appspot.com/...

他の Google Cloud サービスが同じ Google Cloud プロジェクトで実行されている場合は、Container Registry API を有効にしておきます。Container Registry API を無効化する場合。構成済みの依存関係がある他のサービスがプロジェクトで有効になっている場合、Container Registry には警告が表示されます。Container Registry API を無効にすると、構成済みの依存関係を持つ同じプロジェクト内のサービスが自動的に無効になります。現在これらのサービスと Container Registry を使用していない場合も同様です。