在CentOS上没有Docker的空间

我在CentOS机器上使用Docker一段时间,并有大量的图像和容器(大约4GB)。 我的机器有8GB的存储空间,每当试图用docker rm或者docker rmi删除一个Docker容器或者Docker镜像的时候,我都会从devicemapper得到一个错误。 错误是: Error response from daemon: Driver devicemapper failed to remove root filesystem 。 所以我停止了Docker服务并尝试重新启动它,但由于devicemapper而失败。 之后,我卸载Docker并通过运行以下命令删除所有映像,容器和卷: rm -rf /var/lib/docker 。 然而,运行后,似乎没有任何空间被释放:

 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 7.7G 346M 96% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs 1.8G 193M 1.6G 11% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup tmpfs 361M 0 361M 0% /run/user/1000 $ du -ch -d 1 | sort -hr 3.6G total 3.6G . 1.7G ./usr 903M ./var 433M ./home 228M ./opt 193M ./run 118M ./boot 17M ./etc 6.4M ./tmp 4.0K ./root 0 ./sys 0 ./srv 0 ./proc 0 ./mnt 0 ./media 0 ./dev 

为什么DF告诉我我使用7.7G,而杜告诉我,我使用3.6G? du提供的数字(3.6G)应该是正确的,因为我删除了/var/lib/docker docker中的所有内容。

我有一个类似的问题。 这张票很有帮助。

根据您使用的文件系统,您将希望使用fstrimzerofree或将驱动器添加到另一台计算机,或者使用xfs_repair

如果您的文件系统是xfs,并且您使用了xfs_repair那么在运行该命令之后,应在驱动器的根目录中包含lost+found目录,其中包含所有正在使用upspace但无法访问的数据。

然后你可以删除它,它实际上会反映在du