1

我在我的 CentOS 机器上使用了一段时间的 Docker,并且有很多图像和容器(大约 4GB)。docker rm我的机器有 8GB 的​​操作系统存储空间,每当尝试使用或删除 Docker 容器或 Docker 映像时,我都会从 devicemapper 收到错误消息docker rmi。错误是: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 而 du 告诉我我使用的是 3.6G?du 给出的数字(3.6G)应该是正确的,因为我删除了/var/lib/docker.

4

1 回答 1

0

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

根据您使用的文件系统,您将要使用其中一个fstrimzerofree或者将驱动器添加到另一台机器上,或者使用 usexfs_repair

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

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

于 2016-12-14T18:13:19.427 回答