Docker清理-我可以删除/var/lib/Docker/containers下的旧目录吗



我的系统中运行着16个docker容器,它在/var/lib/docker/overlay2/<id>下存储了大量数据(每个目录大约30 GB。总共30*16 GB(。主要空间由其内部的diffmerged目录消耗

每次我执行docker-compose down然后执行docker-compose up时,它都会创建另一组16个目录,并开始在该目录下存储数据但它不会清除旧的overlay2目录。这会导致空间紧缩

  1. 请让我知道我是否可以做rm-rf/var/lib/docker/overlay2/或如何释放空间
  2. docker-compose down之后我需要等几个小时吗回收空间

注意:我也做了docker system prune -a

1(请告诉我是否可以执行rm-rf/var/lib/docker/overlay2/of旧目录或如何释放空间。

只有您才能决定
当我怀疑/var/lib/docker/overlay2/foo123文件夹的未使用数据时,我首先检查该文件夹的内容。它通常包含图像内容。根据文件的修改日期和文件的内容,我很有可能确定文件夹是否无用
当我确定它没有用时,我用rm -rf ...删除它。请注意,删除可能会失败,因为文件装载,在这种情况下,我会识别它们并首先卸载它们
如果我不确定它是否无用,我会在删除之前执行备份,例如cp -a /var/lib/docker/overlay2/foo123 /var/lib/docker/overlay2/backup-foo123

2(docker撰写到回收空间?

只有Docker,根本没有。必须明确删除数据(例如:docker container rm FOOdocker system prunedocker system prune -adocker image rm FOO等(
但Docker并不完美。因此,有时您可能有过时的数据
通常,我会时不时地用du -sh */ | sort -h检查docker大文件夹。

最新更新