[Mac Docker] Mac作業系統使用Docker, 一直遇到no space left on device

最近遇到在Mac 跑docker , 執行一段時間之後, 就會發現容器的空間滿了, 不管調到多大, 沒多久就滿了

使用 docker info , 查看 Docker Root Dir 為 /var/lib/docker

cd /var/lib/docker 會發生 cd: no such file or directory: /var/lib/docker

和Linux不大一樣,在Mac需要先創建一個Linux的虛擬環境 ,所以這裡的Mountpoint對應的就不是Mac裡可以找得到的檔案,而是要到那個虛擬環境裡去找

需進到MountPoing對應的資料夾(Mac)

cd ~/Library/Containers/com.docker.docker/Data/vms/0/

在這裡有個tty

screen tty

這時可以進到 LinuxKit

進來後可以先查一下是哪個東西佔用空間 , du -h

(上圖檔案已經清過了)

發現 /var/lib/docker/containers 下, 有佔100多G的目錄

進到目錄 cd 9ace63d1b32d6bacda4c3fbb7296178c3fa42ee832d451977142b232a98c8a81

ls -l h

可以看到 9ace63d1b32d6bacda4c3fbb7296178c3fa42ee832d451977142b232a98c8a81-json.log 較大(此圖已清過了)

cat /dev/null > 9ace63d1b32d6bacda4c3fbb7296178c3fa42ee832d451977142b232a98c8a81-json.log

可以把這個檔案內容清掉

之後按 Ctrl + A + K , 跳出tty

再手動釋放空間 docker run --privileged --pid=host docker/desktop-reclaim-space

這時候再去看docker resource , 就可以看到空間被釋放了