Docker定位具体占用大量存储的容器

监控告警生产环境的服务器磁盘分区使用率大于90%,进入服务器查看Docker 的 overlay2 存储驱动目录中占用很大,很可能是某个容器一直在打印日志,所以需要定位到是哪个容器,然后进行进一步排查。

然后进入到overlay2中查看是哪个目录占用较大,使用du命令进行排序定位到

复制代码
#从小到大排序
du -sh * | sort -h

#从大到小的话 加上-r
du -sh * | sort -rh

定位到如下两个目录

接下来需要找到 581d0ca05a736dd569ac3420f4d8d5e7ae1354c7690d855984aeb699f4f69a0b和 d84e4f8948ad4745a4884deee42b95330eceb5b846aab93bb3a750f91b03cc6e 是属于哪个容器

使用命令

复制代码
#逻辑是遍历每个容器ID,查看那个容器ID包含该层,然后把容器ID打印出来

for container_id in $(docker ps -a -q); do if docker inspect $container_id | grep -q '581d0ca05a736dd569ac3420f4d8d5e7ae1354c7690d855984aeb699f4f69a0b'; then echo "该层存在于容器: $container_id"; fi; done

找到容器ID后可以使用

复制代码
docker ps -a | grep 6fb0cf947bfd

查看该容器的详细信息 如图

进入容器查看到有个日志文件大小已经超过600G,可以排查一下原因,重启容器可以直接恢复磁盘。

相关推荐
handsomestWei几秒前
Docker引擎API接入配置
运维·http·docker·容器·api
Tingjct6 分钟前
Linux常用指令
linux·运维·服务器
daad77730 分钟前
wifi_note
运维·服务器·数据库
IT界的老黄牛32 分钟前
Linux 压缩命令实战:tar、gzip、bzip2、xz、zstd 怎么选?一篇讲清楚
linux·运维·服务器
12345,catch a tiger1 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
不是书本的小明3 小时前
K8S应用优化方向
网络·容器·kubernetes
程序猿编码3 小时前
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析
linux·运维·服务器·内核·root权限
小夏子_riotous3 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack
梦想的旅途24 小时前
自动化运营如何防封?解析 API 协议下的拟人化风控算法
运维·自动化
AC赳赳老秦5 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw