Docker

在 GCP 中沒有用於拉取具有相同標籤的 docker 映像的空間

  • September 7, 2019

我們正在使用實例組來執行 docker 容器,並設置實例模板以使用圖像作為

us.gcr.io/my-project/my-image:latest.

當我們對 docker 映像進行任何更改時,我們將其標記為latest並執行:

gcloud compute instance-groups managed rolling-action restart my-instance-group --region us-central1.

這對於圖像的初始更改工作正常,實例組 vms 將提取新圖像並覆蓋以前的圖像。但是在進行了更多更改後,它開始給出錯誤:

no space left on device

本質上,GCP 不會處理陳舊的圖像,它會儲存舊的圖像副本。但是在“滾動更新到容器優化的虛擬機”的情況下,我們能否為這些案例獲得更好的自動化處理?我們真的不想通過 ssh 進入主機並docker image prune -a經常手動執行。

您可以在啟動腳本的開頭添加此行

$$ 1 $$.

docker image prune -a

這將在稍後在啟動腳本中拉取新圖像之前刪除所有未使用的圖像。請注意,需要重新啟動才能觸發啟動腳本。

因此,您的硬碟驅動器不會被填滿,並且您的虛擬機將執行最新的 docker 映像。

$$ 1 $$ https://cloud.google.com/compute/docs/startupscript

引用自:https://serverfault.com/questions/982290