docker程序在跑了一段时间之后,发现服务器的磁盘不够了,分享一份shell脚本
#!/bin/bash
# 清理容器中运行的程序产生的日志
baseDir=/var/lib/docker/containers
dir=$(ls -l $baseDir |awk '/^d/ {print $NF}')
for i in $dir
do
newDir=$baseDir/$i
for y in ${newDir}/*
do
if [[ $y =~ \.log$ ]];then
echo "" > $y
fi
done
done
sleep 5
# 清理为退出状态的容器
COMMAND_DOCKERRM="docker rm `docker ps -a | grep Exited | awk '{print $1}'`"
DOCKERRM=$($COMMAND_DOCKERRM)
echo $DOCKERRM
sleep 10
# 清理没有在使用的镜像
COMMAND_DOCKERRMI="docker rmi `docker images | awk '{print $3}'`"
DOCKERRMI=$($COMMAND_DOCKERRMI)
echo $DOCKERRMI
# 清理chrome浏览器
for i in `ps auxf | grep chrome |awk '{print $2}'`;do kill -9 $i;echo $i isok;done
# 清理chrome驱动
for i in `ps auxf | grep chromedriver |awk '{print $2}'`;do kill -9 $i;echo $i isok;done
# 清理僵尸进程
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9