利用shell脚本清除docker已经退出的容器, 没有在使用的docker镜像以及docker容器中程序产生的日志

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

你可能感兴趣的:(个人学习记录)