检查Docker容器是否有足够的磁盘空间

时间:2017-01-31 18:33:23

标签: docker

我的硬盘已满,我怀疑我的Docker容器可能没有足够的磁盘空间。

如何检查系统是否为Docker分配了足够的可用磁盘空间?

我的操作系统是OSX。

1 个答案:

答案 0 :(得分:3)

Docker for Mac的数据全部存储在使用精简配置的qcow2磁盘映像的VM中。此图像将随着使用量增长,但永远不会自动缩小。 (which may be fixed in 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内部

使用screen(如果您没有brew install screen附加到VM的tty)

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

如果您收到登录提示,则用户为root且没有密码。否则只需按回车即可。然后,您可以在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

另请注意,虽然VM仅使用了60G的14.9G,但文件大小为43G。

mac$ du -h Docker.qcow2 
43G Docker.qcow2

修复大小的最简单方法是备份任何音量数据,从“首选项”菜单中“重置”泊坞窗,然后重新开始。 It appears 1.13 has resolved the issue and will run a compaction on shutdown.

screen备注

使用 ctrl - a 然后 d 退出屏幕会话

我退出screen后,Docker VM的tty get被搞砸了,我必须重新启动Docker以获得一个功能终端返回新会话。