前因: 最近服务器磁盘占比超过90%,log已经清理, 发现/data/docker/overlay2目录占用70%了
1.尝试清理docker未用镜像:
docker image prune
删除所有未使用的 Docker 资源,包括容器、镜像、卷和网络等(慎用, 小心删除有用容器)
docker ps -a | grep Exit docker system prune
2.查找大文件
进入/data/docker/overlay2目录,查找目录大于5G
cd /data/docker/overlay2
du -h --max-depth=1 --threshold=5G
或者du -sh ./* | sort -rn | more 目录大小排序
3.进入对应目录,发现很多core.*文件且很大
cd 034bc446e343c6127cb0053bc7266242b40b7028f9dc62713c7ede2ec5fa86cd
du -sh *
cd merged
解释:
1.Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试
2.diff 文件夹: diff 文件夹是一个只读的文件系统层,它包含了Docker镜像的变更内容。当您对容器进行修改或添加新文件时,这些变更会被记录在 diff 文件夹中。每个Docker镜像都有一个对应的 diff 文件夹,用于存储与基础镜像的差异。
3.merged 文件夹: merged 文件夹是一个可读写的文件系统层,它是由基础镜像和 diff 文件夹合并而成的。当您启动一个Docker容器时, merged 文件夹中的内容将作为容器的文件系统。这个文件夹是容器运行时的可写层,您可以在容器中对文件进行修改或添加新文件,这些修改将存储在 merged 文件夹中。
4.删除所有core文件, 此问题解决
补充:
1.查看overlay2 里目录名字找到对应docker容器
docker ps -q | xargs docker inspect --format '{{.State.Pid}},{{.Id}},{{.GraphDriver.Data.WorkDir}}' | grep 034bc446e343c6127cb0053bc7266242b40b7028f9dc62713c7ede2ec5fa86cd标签:容器,爆满,文件夹,diff,docker,overlay2,merged From: https://www.cnblogs.com/aroin/p/17901382.html
#结果通过{{id}}值的前面几位值去搜
docker ps | grep dactce6