docker 容器文件异常大的问题排查

这个 40G 的目录就是导致你磁盘爆满的"元凶"!现在我们已经成功揪出了这个占用极大的 overlay2 层级,接下来只需要 3 步,就能精准定位到是哪个容器在疯狂写数据,并彻底解决问题。

🔍 第一步:定位是哪个容器在搞鬼

overlay2 后面这一长串哈希值(1e78f033...)是 Docker 内部的存储标识。我们需要通过它反查出对应的容器 ID。

执行命令:

bash 复制代码
docker ps -q | xargs docker inspect --format '{{.Id}} {{.GraphDriver.Data.WorkDir}}' | grep "1e78f033119ce29393866ff319686cbe874917c1e10d351e72bf996605d47346"
  • 如果输出了容器 ID:恭喜你,直接锁定了目标容器。
  • 如果没有任何输出:说明该目录可能属于一个已经停止的容器,或者是 Docker 异常退出后残留的废弃数据(dangling 残留)。你可以跳过下一步,直接进入第三步的清理环节。

📂 第二步:深入目录,看看 40G 到底是什么文件

假设你已经通过第一步找到了对应的容器(或者你想直接看看这个目录里到底装了什么),我们可以进入该目录内部一探究竟。

执行命令:

bash 复制代码
# 进入该目录的 diff 子目录(这里存放着容器实际写入的数据)
cd /var/lib/docker/overlay2/1e78f033119ce29393866ff319686cbe874917c1e10d351e72bf996605d47346/diff

# 再次按大小排序,找出是哪个文件夹或文件吃掉了 40G
du -sh * | sort -hr | head -n 10
  • 排查重点
    • 如果是 var/logtmp 等目录巨大,说明是容器内部的应用日志或临时文件没有做轮转或清理。
    • 如果是业务数据目录巨大,说明你的业务本身产生了大量数据,建议后续通过挂载宿主机目录(Volume)来独立管理。

🛠️ 第三步:解决问题与释放空间

根据前两步的排查结果,采取对应的解决措施:

  1. 如果是残留的废弃数据(第一步没查到容器)

    直接执行 Docker 的系统清理命令,安全释放这些无引用的残留层:
    docker system prune -a --volumes

  2. 如果是正在运行的业务容器

    • 治标(快速释放) :如果确认里面的数据(如缓存、临时日志)可以删除,可以进入容器内部清理,或者直接重启该容器(重启会重置部分临时层数据)。
    • 治本(预防再次撑爆)
      • 限制日志大小 :在启动该容器时加上日志限制参数,例如 --log-opt max-size=100m --log-opt max-file=3
      • 挂载临时目录 :如果是因为 /tmp 写爆,可以在启动时加上 --tmpfs /tmp:rw,size=512m,让临时文件存在内存中,不占用磁盘。
      • 业务数据外挂 :如果这 40G 是核心业务数据,建议在重建容器时,通过 -v 参数将其挂载到宿主机有足够空间的独立分区上。

你可以先执行第一步和第二步,看看这 40G 里面具体是什么文件,如果有不确定的地方,可以把 du -sh * 的输出结果发给我,我帮你进一步分析!

相关推荐
爱喝水的鱼丶43 分钟前
SAP-ABAP:ABAP 用户出口参数传递与上下文获取:SAP 标准数据读取与交互逻辑实现
运维·性能优化·交互·sap·abap·经验交流·出口
IT大白鼠44 分钟前
PentestGPT作为AI运维编排工作流自动化底座的技术架构与应用价值评估
运维·人工智能·自动化·pentestgpt
浪兎兎1 小时前
【Kubernetes 实战】(二)部署 Ruoyi-Cloud —— 部署服务
云原生·容器·kubernetes
j7~2 小时前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
zzzll11112 小时前
n8n 工作流自动化平台入门指南
运维·自动化
Hrain-AI2 小时前
Anthropic oncall-kit 开源拆解:运维 Agent 落地范式的四基石与权限边界
运维·人工智能·开源
淼澄研学2 小时前
Proliferate开源框架技术解析与Docker部署实操
docker·容器·开源
HXDGCL2 小时前
从“转盘困局”到“直线破局”:华创力科技PTS精密分度输送系统如何重塑自动化产线
运维·科技·自动化
戴西软件3 小时前
国内有哪些智能化RPA工具?——从“录数据”到“做判断”,国产数字员工正在重新定义自动化
运维·自动化·rpa
浪兎兎3 小时前
Docker 容器技术笔记
笔记·docker·容器