检查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与screenbrew 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输出相匹配(使用aufsoverlay

 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。