Select Page

📦 什麼是 Cloud Run Image?存在哪裡?

在 Google Cloud 中,很多人以為 Cloud Run 會幫你管理 image,但其實:

👉 Cloud Run 只是執行容器,不負責儲存 image

真正存放 image 的地方是:(可以直接點選然後用圖形介面做管理)

👉 Artifact Registry


📁 Image 路徑長這樣

當你部署 Cloud Run 時,通常會看到:

asia-east1-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME:tag

這代表:

  • asia-east1 → 區域
  • REPO_NAME → Docker Repository
  • IMAGE_NAME → 你的服務名稱
  • tag → 版本

🧹 如何刪除 Cloud Run Image?

✅ 方法一:用 GCP Console(最直覺)

步驟:

  1. 進入 Artifact Registry
  2. 選擇你的 Repository(例如:wp-services
  3. 點進 image(例如:astra1
  4. 選擇版本(tag)
  5. 點擊 🗑️ 刪除

✅ 方法二:用 gcloud CLI(推薦大量環境)

🔹列出 images

gcloud artifacts docker images list \
asia-east1-docker.pkg.dev/PROJECT_ID/REPO_NAME

🔹刪除指定版本

gcloud artifacts docker images delete \
asia-east1-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME:tag \
--delete-tags

🔹刪除整個 image(所有版本)

gcloud artifacts docker images delete \
asia-east1-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME \
--delete-tags --quiet

⚠️ 為什麼你一定要刪 Image?

❗1. Cloud Run 不會幫你清理

每次 deploy:

👉 舊 image 全部都會留下來


❗2. Artifact Registry 會收費

👉 image = storage
👉 越多版本 = 💸 成本持續增加


❗3. 刪除不會影響正在運行的服務

即使你刪掉 image:

👉 Cloud Run 還是可以正常運作(因為已經 pull 過)

但:

👉 ❌ 無法 rollback 到被刪的版本


🚀 進階:自動清理(強烈建議)

如果你有:

  • 多個 Cloud Run 服務
  • CI/CD 自動 deploy
  • 每天 build image

👉 一定要做 Cleanup Policy


🔧 設定方式

在 Artifact Registry:

  1. 進入 Repository
  2. 點選 Cleanup policies
  3. 設定規則:

📊 建議策略(Production)

保留最近:5 個版本
刪除時間:30 天以前