釋放 docker 佔用的隱藏容量

之前 Linux 主機上磁碟空間每隔一段時間就會爆滿,已經把 containers 和 images 都刪除了,還是一樣,唯一的解決方式就是需要使用 docker system prune 清除所有不在使用中的資料,才可以釋放空間,而且每次執行都可以釋放好幾十 GB ,並且也覺得 docker system prune 這個指令有點太過危險,所有未使用中的 volumes 都會被清除,但是一直都不知道到底是為什麼,只能一直依賴這個指令暫時度過眼前的難關。

直到後來才發現是 docker 的 builder cache 在作祟,docker build 的時候會依照 docker file 下載 docker image ,這些 image 會儲存在快取中,而筆者建立 docker 時通常都是使用最新版本,所以每隔一段時間依賴的 docker image 推出新版本時又會被下載到快取中,隨著時間流逝,儲存空間就滿了...

而 docker build 的快取要清除其實非常的簡單,只要一個指令:
    
docker builder prune
    

就可以輕鬆釋放非常大的空間:

😂😂😂

加上 -f 就可以略過同意直接執行
    
docker builder prune -f
    



參考資料:
docker docs - docker builder prune

留言