最近遇到在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 , 就可以看到空間被釋放了