选出排在前面的10个(-m表示按M为统计单位)
du -sm /var/lib/docker/overlay2/* | sort -nr | head
查看对应的容器
docker ps -q | xargs docker inspect --format ‘{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}’ | grep “bbed8c4cd32f640601c976229c610a5d3ef0ddc5be274acda3699f425dff884a”
组合查询
for id in du -sm /var/lib/docker/overlay2/* | sort -nr | head | awk '{print $2}'|sed -E 's/^\/var.*overlay2\///g'
;do docker ps -q | xargs docker inspect --format ‘{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}’ | grep ${id} && echo ‘===================/n’ ;done
shell脚本
for id in du -sm /var/lib/docker/overlay2/* | sort -nr | head | awk '{print $2}'|sed -E 's/^\/var.*overlay2\///g'
; do
result=docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep ${id} |awk '{print $4}'|sed -E 's/\/work//g'
if [ $result"1" != “1” ]; then
result1=docker ps -q | xargs docker inspect --format '{{.Id}} {{.Name}} {{.GraphDriver.Data.WorkDir}}' | grep ${id}| awk '{print "id:" $1, "dir:" $2}'
echo “${result1}====”
du -h --max-depth=1 $result
fi
done
相关文章:https://blog.youkuaiyun.com/weixin_41476014/article/details/105527721