Error MessageError response from daemon: Cannot restart container mongo: mkdir /var/lib/docker/overlay2/605126f44fb2514d9e5ee60d75b2d69dea402ed8feec425bbadd50859e89d5b9/merged: no space left on device
通常在docker用了一段時間之後, 會發現他佔用掉不少的磁碟空間, 這時候若不去清理docker產生出來的垃圾的話, 很容易在操作docker指令時跑出錯誤訊息no space left on device
首先, 查詢可回收的空間
docker system df這個指令可以看到目前docker佔用了多少磁碟空間
admin@ubuntu:~$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 99 9 42.62GB 34.18GB (80%)
Containers 9 7 327.8MB 3.018kB (0%)
Local Volumes 20 1 995.6MB 995.6MB (100%)
Build Cache 0 0 0B 0B
RELAIMABLE
是總共可以回收的空間, 也就是垃圾占用的空間, 而這些垃圾通常是指一些沒有被容器使用的image(包含dangling image,即 <none> image)或是volume接下來, 回收空間
docker system -a --volume prune這個會去清除所有沒用到的容器, 網路, image以及volume
-a 刪除所有的沒用到的image
--volume 刪除所有的沒用到的volume
檢查回收的情況
執行完上面的指令之後可以用
docker system df
來檢查一下回收情況admin@ubuntu:~$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 8 7.223GB 913.8MB (12%)
Containers 8 8 117.9MB 0B (0%)
Local Volumes 1 1 0B 0B
Build Cache 0 0 0B 0B
會發現空間的確被釋放了, 以images來說總共釋放了3xGB的空間(34.18GB>913.8MB)
除此之外, 各位也可以用
du
去看目前容器占用的空間的狀況是不是變少了admin@ubuntu:~$ du -d1 -h /var/lib/docker/containers | sort -h
40K /var/lib/docker/containers/7fca448234e6135537bff7d608a229f604d44631c84a0402fe193e70e54223a0
44K /var/lib/docker/containers/c27564a868e50edf177e0ee84ff6982265da23e51262a69d2198c054b887ccd8
48K /var/lib/docker/containers/97cab0bb420402dd2b2f6e1ead0d7103121a7ce6149f8e669842d2e9f40e1f9f
56K /var/lib/docker/containers/85208fa7c2db3f786bbe82163f37c6045cbc63132aa2a1d0de7ec623915a49d5
3.3M /var/lib/docker/containers/ae4e31371f58c2b0fc891364439c461c827d25cd4052528af72aeed1917a0d43
5.5M /var/lib/docker/containers/e6dbd47295515d7b6a6a685738c32feba0cd9a35c8beb56a578cb3319d888476
20M /var/lib/docker/containers/56efbd799d9e94fb56f8e6beeea8967ea276b2c39eb4f06d421a42ca039b661a
88M /var/lib/docker/containers/071e7f2b874422b478a785f4cb3e6a9e8c581c389eb4359d5495c20b27839d5d
116M /var/lib/docker/containers
https://cntnr.io/whats-eating-my-disk-docker-system-commands-explained-d778178f96f1
https://stackoverflow.com/questions/30604846/docker-error-no-space-left-on-device
留言
張貼留言