Ubuntu 16.04,Docker 和“文件系统根目录”卷上的零空间

Ubuntu 16.04,Docker 和“文件系统根目录”卷上的零空间

今天早些时候,我安装了 Docker 并按照一些教程操作。在运行有关使用 Docker 和基本 Meteor 应用程序的教程时,我收到错误消息,提示磁盘空间不足,尽管我的/home分区有 17 GB 可用空间。

我重启了电脑,系统提示我The volume "Filesystem root" has 0 bytes disk space remaining。在如此令人窒息的空间里,我的浏览器都无法启动。

我运行了sudo apt-get remove docker-ce docker-ce-cli containerd.io,这回收了 33.4 MB 的磁盘空间/,这意味着我可以启动浏览器并查找有关如何回收更多空间的提示。在删除旧内核、运行sudo apt autoremove --purgesudo apt-get clean并删除一些我有一段时间没用过的第三方应用程序后,我总共回收了 800 多 MB,所以至少我有一些喘息的空间。

然而,安装 Docker 并创建六个镜像后,我的 19 GB /分区突然饱和,这似乎只是巧合。而且似乎还有很多空间没有释放,迫使我删除之前没有造成麻烦的其他文件。

Docker 是否做了一些特殊的事情/?我可以做些什么来撤消它,并避免再次发生这种情况?

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3,8G     0  3,8G   0% /dev
tmpfs           783M  9,6M  773M   2% /run
/dev/nvme0n1p5   19G   17G  776M  96% /
tmpfs           3,9G  468K  3,9G   1% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           3,9G     0  3,9G   0% /sys/fs/cgroup
...
/dev/nvme0n1p6  465M   80M  357M  19% /boot
/dev/nvme0n1p7   77G   57G   17G  78% /home
/dev/nvme0n1p1  496M   82M  415M  17% /boot/efi
tmpfs           783M   52K  783M   1% /run/user/1000

答案1

事实证明:

  • Docker 将其镜像和容器存储在/var/lib/docker/
  • 要包含 Meteor 应用程序,需要 3 个图像,每个图像 907 MB
$ docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              33b3559a88ad        2 minutes ago       907MB
<none>              <none>              f2136da9e497        2 minutes ago       907MB
node                12.6                7c412a558705        12 months ago       907MB

这(连同我的其他实验)很快就填满了我的 19 GB 分区。

为了解决这个问题,我遵循了建议这里,创建一个从我的分区/var/lib/docker/更宽阔的平原上的文件夹的符号链接。我的分区为此感谢我:/home/

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3,8G     0  3,8G   0% /dev
tmpfs           783M  9,7M  773M   2% /run
/dev/nvme0n1p5   19G   15G  3,3G  82% /
...

我还使用docker rmi $(docker images -a -q)docker image prune删除了我在实验时创建的不再需要的大文件。

相关内容