docker 磁盘满了问题排查

编程入门 行业动态 更新时间:2024-10-21 23:18:35

docker 磁盘<a href=https://www.elefans.com/category/jswz/34/1729246.html style=满了问题排查"/>

docker 磁盘满了问题排查

问题描述

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

 

更多推荐

docker 磁盘满了问题排查

本文发布于:2023-06-29 09:20:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/942678.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:满了   磁盘   docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!