Docker
在 GCP 中沒有用於拉取具有相同標籤的 docker 映像的空間
我們正在使用實例組來執行 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 映像。