您现在的位置是:首页 >技术杂谈 >docker磁盘空间爆满 通过overlay2 目录名查找对应容器网站首页技术杂谈

docker磁盘空间爆满 通过overlay2 目录名查找对应容器

OceanWaves1993 2024-07-09 10:33:08
简介docker磁盘空间爆满 通过overlay2 目录名查找对应容器

docker磁盘空间爆满 通过overlay2 目录名查找对应容器

1、docker文件系统占用分析

du -sh  /var/lib/docker/*

看到占用磁盘空间最大的目录是docker存储根目录下的overlay2目录

在这里插入图片描述

再查看docker存储根目录下的overlay2目录下哪个目录占用空间最大

du -s  /var/lib/docker/overlay2/*|sort -rn

找出最大的这个overlay2目录的目录名是:ef129273a3f100feec4970bee90b0b83d9f1b170f6a76668eba9bdcfbf5f4ac8

下面需要使用这个目录名字符串去反向查找这个目录属于哪个容器,找到这个容器,就可以做进一步问题处理。这个容器就是导致磁盘空间爆满的罪魁祸首。

在这里插入图片描述

2、使用shell脚本通过overlay2 目录名查找对应容器

vi locateContainer
a=$(docker ps -aq)
echo -n "Enter the target DirectoryName to search and locate around all containers: "
read target
for i in $a
do
    b=$(docker inspect $i|grep MergedDir|grep $target|wc -l)
    if [ $b -ge 1 ];
    then
    echo 命中的容器ID是:$i
    fi
done
bash locateContainer

会提示输入查询的目录名:ef129273a3f100feec4970bee90b0b83d9f1b170f6a76668eba9bdcfbf5f4ac8

在这里插入图片描述

然后输出容器ID:8219fe1d228c

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。