我在AWS EC2上运行了一些docker容器,/var/lib/docker/overlay2文件夹的磁盘大小增长得非常快。
我想知道删除它的内容是否安全?
或者如果docker有某种命令来释放一些磁盘使用。
更新:
我实际上已经尝试了docker系统prune -a,它回收了0Kb。
此外,我的/docker/overlay2磁盘大小比docker系统df的输出大得多
在阅读docker文档和BMitch的回答后,我相信触摸这个文件夹是一个愚蠢的想法,我会尝试其他方法来回收我的磁盘空间。
也有快速增长的覆盖2的问题
/var/lib/docker/overlay2 -是docker存储容器可写层的文件夹。
只有当容器停止并删除时,Docker系统修剪-a才能工作。
在我的作品中,我能够通过研究overlay2来计算出什么占用了空间。
该文件夹包含其他命名为哈希的文件夹。每个都有几个文件夹,包括diff文件夹。
Diff文件夹——包含一个容器所写的实际差异,该容器具有与你的容器相同的文件夹结构(至少在我的情况下- ubuntu 18…)
所以我用du -hsc /var/lib/docker/overlay2/ longhashhhhhhh /diff/tmp来找出我的容器中的/tmp是被污染的文件夹。
因此,作为一个解决方案,我已经使用-v /tmp/container-data/tmp:/tmp参数为docker运行命令来映射内部/tmp文件夹到主机,并在主机上设置一个cron来清理该文件夹。
Cron任务很简单:
Sudo nano /etc/crontab
*/30 * * * * root rm -rf /tmp/container-data/tmp/* .使用实例
保存并退出
注意:overlay2是系统docker文件夹,他们可以随时改变它的结构。以上一切都是基于我在里面看到的。不得不进入docker文件夹结构,因为系统完全没有空间,甚至不允许我ssh进入docker容器。