Docker 佔用了你 Mac 的空間?以下教你如何縮小
Docker Desktop 將所有映像檔、容器、資料卷和建置快取都存放在一個大型磁碟映像檔中。它會悄悄增長;以下教你如何查看它的實際用量並把空間拿回來。
Docker Desktop 將所有映像檔、容器、資料卷和建置快取都存放在一個大型磁碟映像檔中。它會悄悄增長;以下教你如何查看它的實際用量並把空間拿回來。
在 Mac 上,Docker 會在輕量級虛擬機器中執行 Linux。裡面的所有內容都存放在一個檔案中,通常是 ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw。
它是稀疏檔案:Finder 可能會顯示它的上限大小(例如 64 GB),但實際用量要少得多。若要查看真實大小,請在 Terminal 中對它執行 du -h,或用 DiskGarden 掃描,它計算的是檔案在磁碟上實際佔用的空間。
執行 docker system df,查看映像檔、容器、本機資料卷與建置快取各佔多少,以及每一項有多少可以回收。
docker system prune 會移除已停止的容器、未使用的網路、懸置映像檔與未使用的建置快取。docker system prune -a 還會移除所有未被容器使用的映像檔,需要時再重新下載即可。docker builder prune 只清除建置快取,對經常建置映像檔的人來說,這通常是最大的一塊。docker volume prune 會移除未使用的資料卷。注意:資料卷中存放著本機資料庫等資料,請確認你不再需要。Docker Desktop 會自動將釋放的空間還給 macOS,不過檔案縮小可能需要一點時間。
在 Docker Desktop 中,打開 Settings → Resources 並調低虛擬磁碟上限。Docker 不會長得超過這個上限(調低可能需要重設 Docker 的資料,所以請先 prune)。
作為最後手段,Troubleshoot → Clean / Purge data 會刪除 Docker 儲存的所有內容,並從頭開始。
Parallels、UTM、VMware Fusion 等 App 也會將每部虛擬機器存成一個大型檔案或套件。請在 App 內刪除你不再使用的虛擬機器。這些全都會出現在 macOS 的系統資料中。
DiskGarden 是 Mac 的免費磁碟空間分析工具:依大小繪出每個資料夾,讓佔空間的大戶一目了然。不用註冊帳號,你的檔案也絕不離開你的 Mac。