Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Docker在aufs上的磁盘空间不足,尽管df显示了大量_Linux_Docker_Filesystems - Fatal编程技术网

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