#!/bin/bash
##check workdir##
if [ `ls /var/lib/docker/ | grep overlay2 | wc -l` -ne 0 ]
then
dir="/var/lib/docker/"
else
dir="/data/docker/"
fi
##clean container's log##
for log_dir in `du -sh $dir/containers/* | grep G | awk '{print $2}'`
do
file_name=`echo $log_dir | awk -F "/" '{print $6}'`
> $log_dir/$file_name-json.log
done
##container space check##
for overlay2_dir in `du -sh $dir/overlay2/* | grep G | awk '{print $2}'`
do
overlay2_dir_G=`du -sh $overlay2_dir | grep G | cut -d 'G' -f 1 | cut -d '.' -f 1`
if [ $overlay2_dir_G -gt 30 ]
then
overlay2_file_name=`echo $overlay2_dir | awk -F "/" '{print $6}'`
container_name=`docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "$overlay2_file_name" | awk -F ',' '{print $3}' | cut -d '/' -f 2`
pod_name=`echo $container_name | awk -F '_' '{print $3}'`
ns=`echo $container_name | awk -F '_' '{print $4}'`
if [ `echo $container_name | grep '_' | wc -l` -ne 0 ]
then
echo -e "container:$container_name nnamespace:$ns npod:$pod_name n该容器占用磁盘空间$overlay2_dir_G G,需检查"
else
echo "$overlay2_dir无运行容器实例,可执行docker system prune -a --volumes释放空间"
fi
fi
done
原文地址:https://blog.csdn.net/q2524607033/article/details/134771191
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_36048.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。