我的系统中运行着16个docker容器,它在/var/lib/docker/overlay2/<id>
下存储了大量数据(每个目录大约30 GB。总共30*16 GB(。主要空间由其内部的diff
和merged
目录消耗
每次我执行docker-compose down
然后执行docker-compose up
时,它都会创建另一组16个目录,并开始在该目录下存储数据但它不会清除旧的overlay2目录。这会导致空间紧缩
- 请让我知道我是否可以做rm-rf/var/lib/docker/overlay2/或如何释放空间
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 FOO
、docker system prune
、docker system prune -a
、docker image rm FOO
等(
但Docker并不完美。因此,有时您可能有过时的数据
通常,我会时不时地用du -sh */ | sort -h
检查docker大文件夹。