我的硬盘已满,我怀疑我的Docker容器可能没有足够的磁盘空间。
如何检查系统是否为Docker分配了足够的可用磁盘空间?
我的操作系统是OSX。
答案 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
使用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
输出相匹配(使用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
另请注意,虽然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以获得一个功能终端返回新会话。