Linux Docker在aufs上的磁盘空间不足,尽管df显示了大量
症状:无法启动任何容器Linux Docker在aufs上的磁盘空间不足,尽管df显示了大量,linux,docker,filesystems,Linux,Docker,Filesystems,症状:无法启动任何容器 $ docker run continuumio/miniconda3 docker: Error response from daemon: mkdir /var/run/docker/libcontainerd/a40677f8a1bbaf43d0bd3c1935c4ee69330ac1b0c6bb577ebf66f78edaae2d48: no space left on device. $ sudo df -h /var/run/docker/libcontain
$ docker run continuumio/miniconda3
docker: Error response from daemon: mkdir /var/run/docker/libcontainerd/a40677f8a1bbaf43d0bd3c1935c4ee69330ac1b0c6bb577ebf66f78edaae2d48: no space left on device.
$ sudo df -h /var/run/docker/libcontainerd
Filesystem Size Used Avail Use% Mounted on
tmpfs 201M 748K 200M 1% /run
我已经删除了退出的容器和悬挂的或旧的图像。一些信息(我在AWS上运行Ubuntu,内存为2GB):
我的/var/lib/docker
是指向/home/ubuntu/docker/volumes/docker\u images/var/
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 996M 12K 996M 1% /dev
tmpfs 201M 748K 200M 1% /run
/dev/xvda1 7.8G 2.2G 5.2G 30% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1001M 592K 1000M 1% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdf 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images
/dev/xvdg 99G 3.3G 91G 4% /home/ubuntu/docker/volumes/hub
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/e693c6c76faf6bcc61b262cda110985f491f3bf8dcb3557d0bce857027759fc8
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/9915d2a8761471958ba4268a15cca6149ddedfdfa9007cfc718536cd4189e9ae
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/1ff065d23fd79042d62697c678f980eb5e7bb08493422e905835b064dad96e66
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/e94aed0d3162e222de6c96a4e897d70e82f1fd24dbc8a57aa4a5c4ddc15fc827
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/9aa83823063aab902fa82515d7cb5c6ee3d3e64a789be23367d70d445a319fb6
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/a800385412c324efd6bdd7df48aee0c5db7f69a8d333b60b9ae96839b05339d2
none 16G 7.5G 7.4G 51% /home/ubuntu/docker/volumes/docker_images/var/aufs/mnt/e109c3c4aa7acefcc69f2436275a9d61bdf8b1b968e150d9063bbbd276e5cf3c
有没有办法解决这个问题?我的构建系统已暂停:/I我没有尝试重新启动docker守护进程,因为它需要一些手动操作来重新启动每个容器
更新:
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 254821 398 254423 1% /dev
tmpfs 256060 256060 0 100% /run
/dev/xvda1 524288 86504 437784 17% /
none 256060 11 256049 1% /sys/fs/cgroup
none 256060 1 256059 1% /run/lock
none 256060 25 256035 1% /run/shm
none 256060 2 256058 1% /run/user
/dev/xvdf 1048576 150320 898256 15% /home/ubuntu/docker/volumes/docker_images
/dev/xvdg 6553600 3207 6550393 1% /home/ubuntu/docker/volumes/hub
tmpfs 100%使用!接下来,我需要弄清楚我可以删除什么
更新2:我被击中了
我的解决方案(以root用户身份运行):
正如我在问题(我是OP)中所描述的,由于内核错误,这个问题的inode已经用完了,如中所述 我的解决方案是删除那些与ifconfig列出的任何接口都不对应的ifstate文件:
# ifconfig | grep veth | cut -d' ' -f1 | xargs echo
veth087c8e6 veth1fb6674 veth5b8c14c veth801416c veth8a51820
# find /run/network -name 'ifstate.*' | egrep -w -v -e `ifconfig | grep veth | cut -d' ' -f1 | xargs echo | tr ' ' '|'` | xargs -n1 rm
正如我在问题(我是OP)中所描述的,由于内核错误,这个问题的inode已经用完了,如中所述 我的解决方案是删除那些与ifconfig列出的任何接口都不对应的ifstate文件:
# ifconfig | grep veth | cut -d' ' -f1 | xargs echo
veth087c8e6 veth1fb6674 veth5b8c14c veth801416c veth8a51820
# find /run/network -name 'ifstate.*' | egrep -w -v -e `ifconfig | grep veth | cut -d' ' -f1 | xargs echo | tr ' ' '|'` | xargs -n1 rm
检查到目前为止已使用的索引节点数。如果你有很多小文件,即使你有空间,它也会显示你已满df-我检查到目前为止消耗的索引节点的数量。如果你有很多小文件,即使你有空间,它也会显示你已满df-i'
# ifconfig | grep veth | cut -d' ' -f1 | xargs echo
veth087c8e6 veth1fb6674 veth5b8c14c veth801416c veth8a51820
# find /run/network -name 'ifstate.*' | egrep -w -v -e `ifconfig | grep veth | cut -d' ' -f1 | xargs echo | tr ' ' '|'` | xargs -n1 rm