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,可以排查一下原因,重启容器可以直接恢复磁盘。

相关推荐
DuelCode10 分钟前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
你想考研啊2 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks2 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
饥饿的半导体3 小时前
Linux快速入门
linux·运维
杨浦老苏4 小时前
开源服务运行监控工具Lunalytics
docker·群晖·网站监控
还是奇怪5 小时前
Linux - 安全排查 2
linux·运维·安全
牛奶咖啡136 小时前
Linux系统的常用操作命令——文件远程传输、文件编辑、软件安装的四种方式
运维·服务器·软件安装·linux云计算·scp文件远程传输·vi文件编辑·设置yum的阿里云源
难受啊马飞2.06 小时前
如何判断 AI 将优先自动化哪些任务?
运维·人工智能·ai·语言模型·程序员·大模型·大模型学习
会又不会6 小时前
Jenkins-Email Extension 插件插件
运维·jenkins
电脑能手7 小时前
[保姆级教程] 解决不同局域网电脑无法SSH的问题
运维·ssh·电脑