docker 磁盘满了问题排查

4 篇文章 0 订阅
3 篇文章 0 订阅

问题描述

        TOS 集群下某个节点 /var/lib/docker 目录满了,比如 目录总大小为200G,占用了194G。

问题分析

        此问题一般是由于容器内数据递增,没有做自动清理,或是数据目录没有挂载出来导致。

排查思路

        进入 /var/lib/docker 目录,使用 du -sh 等查询磁盘空间大小的命令,一层层向下找,找到占用空间最大的一个目录,根据 docker inspect 命令和容器 layyer 名称,反推得到 container-id,确定了具体容器,然后重启容器释放磁盘空间或查看具体原因具体操作。

步骤

确认占用磁盘空间最大的 layyer 目录

# cd /var/lib/docker# du -sh * | grep G# cd xxx                      ##进入到上步占用空间最大的目录# du -sh * | grep G      ##再次查询占用空间最大的目录,直到找到类似 /var/lib/docker/overlay2/2ae66baf192c3f8893b804efffb2cd0a892bee3e9ec9e2d398c9a6c78d8464e6 这样带有一长串字符串的目录

根据目录确认占用空间大的容器

在出问题的节点上,执行如下命令# for i in `docker ps -a| awk '{print $1}' | grep -v CONTAINER`;do  echo $i;docker inspect $i | grep xxxx ; donexxxx 指上一步 2ae66ba...,输出结果有 2ae66ba... 的 对应的 container-id 即为我们所要找的 container-id。例如:下图中的 257c6df 结尾的 container-id 就是我们要找的容器。

释放空间

a. 测试环境,可以直接删除上一步获取的容器,磁盘空间就会释放。这种情况里面的数据会被清空。具体命令如下:   docker rm container-id     ##container-id为上一步获取的

b. 生产环境,建议进入到容器里面,确认下具体占用磁盘空间的目录,看是否是预期的,然后具体问题具体处理。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值