帮助清理 var/lib/docker

JPa*_*ida 5 docker 18.04

我在 ubuntu 18.04 上用 docker 搞砸了,现在我的磁盘上几乎没有空间了。

  • 我试图将 var/lib/docker 移动到 /home 并执行符号链接以使用一些重图像(nvidia tlt 和 nvidia 数字),因为我在另一个分区上有 /home。
  • 当事情不起作用时,我删除了链接并将文件夹移回了它所属的位置。
  • 在我看来,当我测试它是否有效时,就在将文件夹移回之前,ubuntu 创建了该文件夹,当我进行移动时,事情奇怪地合并了。

现在的问题是如何让事情恢复正常(希望不要重新安装 ubuntu)。我希望有一些多余的文件可以删除。

我有一些其他图像不再显示sudo docker images,但我也没有删除。一些容器也是如此

当我执行时,sudo tree var/lib/docker > tree.txt我得到这个输出(这是 26.7 MB,大得离谱,不是吗?)


刚刚检查过,这个文件夹的大小是 24GB。tlt 图像是 7,我假设容器可能是相同的,仍然有将近 10 GB(根磁盘的 25%)的可挽救空间。

任何帮助都会非常感激。谢谢。


是@Giorgos Saridakis 回答之后的树,现在它的大小是 20.2 MB

b1n*_*ch0 5

  • service docker stop移动文件夹之前执行的操作
  • 如果将 /var/lib/docker 放置在其他地方,请使用绑定安装,例如mount -o bind /external/disk/docker /var/lib/docker,还“保护”该文件夹,防止在安装之前写入文件chattr +i /Var/lib/docker
  • 最好从撰写文件或docker pull图像再次启动容器,因为您可能会用所描述的步骤弄乱覆盖层
  • 文件夹大小也来自 docker 文件系统实现,而文件系统作为存档提取,然后提取
  • 对于 docker 镜像来说 7GB 不太大
  • 如果你有大量的构建缓存/悬空图像/停止的容器 docker system prune -a是你的朋友


JPa*_*ida 0

我冒了风险并解决了这个问题。我sudo tree --du -h /var/lib/docker > tree.txt也使用该命令查看文件夹大小,发现里面有另一个“docker”文件夹/var/lib/docker/volumes,大小为 6.8 GB,并且与/var/lib/doclker. 在检查了一个朋友没有之后,我就冒险做了以下事情。

  • 须藤泊坞窗停止
  • sudo mv /var/lib/docker/volumes/docker /path/to/an/external/drives/folder
  • 须藤码头工人启动

它工作没有问题,重新启动后一切看起来都正常,我可以像往常一样运行 tlt 图像。谢谢大家的帮助,我知道我很鲁莽,但无论如何我也准备格式化我的驱动器,所以我没有什么可失去的(如果你,未来的读者看到这个,比我更小心)。再次感谢您!