Dimitrios Desyllas Asked: 2019-06-30 07:25:15 +0800 CST2019-06-30 07:25:15 +0800 CST 2019-06-30 07:25:15 +0800 CST Docker 吃 /var 空间我怎么能节省一些? 772 因为对这个问题有一些很好的评论,所以我认为在这个特定的问题中它们可能是很好的答案和有益的。 所以为了能对社区更有利,我想能在这里得到解答。 在我的 gnu/linux 系统中,我有/var20G 大,但由于使用 docker 和自定义 docker 映像的开发,/var占用了 90% 的空间,那么我如何才能在其中保留一些空间/var? 我最初想像这个问题所说的那样做一些备份,然后重新分区/var. 但对我来说似乎太费力了。有没有更安全、更省时的替代方案? docker disk-usage 2 个回答 Voted Best Answer ctrl-alt-delor 2019-06-30T10:21:00+08:002019-06-30T10:21:00+08:00 如果您有一段时间没有这样做,请运行docker system prune. 它将运行垃圾收集器,并释放大量磁盘空间。 请注意,它可能会导致您下次做某事(例如构建、拉取等)时需要完成更多工作,但不应删除任何无法取回的内容。 Dimitrios Desyllas 2019-06-30T11:54:16+08:002019-06-30T11:54:16+08:00 另一种方法是将文件夹 rsync/var/lib/docker放入更大的磁盘/分区中。在我的情况下,接管的分区/home/有一些可用空间,因此我遵循了这些步骤: 我在/home/命名中创建了一个专用文件夹docker mkdir /home/docker 使用rsync我将数据复制到/home/docker rsync -rav /var/lib/docker /home/docker 我检查了 rsync 过程是如何进行的: ls -l /home/docker 在此步骤中检查是否rsync创建了新文件夹。请记住已创建的路径。 我终止了 docker 守护进程:(在我的情况下是一个 ubuntu,因此使用该服务工作正常,systemctl在大多数发行版中也可以使用) sudo service docker stop 去除/var/lib/docker rm -rf /var/lib/docker 符号链接到/home/docker/docker(是的,它是在/home/docker另一个名为的文件夹中创建的,docker但我没有打扰它) sudo ln -s /home/docker/docker /var/lib/docker 再次启动 docker: sudo service docker start
如果您有一段时间没有这样做,请运行
docker system prune
. 它将运行垃圾收集器,并释放大量磁盘空间。请注意,它可能会导致您下次做某事(例如构建、拉取等)时需要完成更多工作,但不应删除任何无法取回的内容。
另一种方法是将文件夹 rsync
/var/lib/docker
放入更大的磁盘/分区中。在我的情况下,接管的分区/home/
有一些可用空间,因此我遵循了这些步骤:/home/
命名中创建了一个专用文件夹docker
rsync
我将数据复制到/home/docker
在此步骤中检查是否
rsync
创建了新文件夹。请记住已创建的路径。systemctl
在大多数发行版中也可以使用)/var/lib/docker
/home/docker/docker
(是的,它是在/home/docker
另一个名为的文件夹中创建的,docker
但我没有打扰它)