检查Docker容器是否有足够的磁盘空间
我的硬盘已满,我怀疑我的Docker容器可能没有足够的磁盘空间。
我如何检查系统是否为Docker分配了足够的可用磁盘空间?
我的操作系统是OSX。
用于Mac数据的Docker全部存储在使用精简configuration的qcow2磁盘映像的虚拟机中。 这个图像将随使用情况而增长,但不会自动缩小。 ( 可能在1.13中固定 )
图像文件存储在您的主目录Library
区域:
mac$ cd ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux mac$ ls -l Docker.qcow2 rw-r--r-- 1 user staff 46671265792 31 Jan 22:24 Docker.qcow2
在VM里面
附加到虚拟机的tty与screen
( brew install screen
如果你没有)
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
如果你得到一个login提示,用户是root
,没有密码。 否则,只需按下input。 然后你可以在Linux VM上运行df
命令。
/ # df -h /var/lib/docker Filesystem Size Used Available Use% Mounted on /dev/vda2 59.0G 14.9G 41.1G 27% /var
请注意,这与容器内的df
输出相匹配(使用aufs
或overlay
)
mac$ docker run debian df -h Filesystem Size Used Avail Use% Mounted on overlay 60G 15G 42G 27% / tmpfs 1.5G 0 1.5G 0% /dev tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup /dev/vda2 60G 15G 42G 27% /etc/hosts shm 64M 0 64M 0% /dev/shm
另外请注意,虽然虚拟机仅使用60G的14.9G,但文件大小为43G。
mac$ du -h Docker.qcow2 43G Docker.qcow2
修复大小最简单的方法是备份任何卷数据,从“首选项”菜单中“重置”泊坞窗,然后重新启动。 看来1.13已经解决了这个问题,并将closures紧缩。
screen
笔记
用ctrl退出屏幕会话,然后d
Docker虚拟机的tty get在退出screen
后就搞砸了,我不得不重新启动Docker来获取新的会话的functionterminal。