-
docker system df
命令给出了images、containers、volumes、build cache占用磁盘的大小。最后一列RECLAIMABLE,表示可回收的空间大小; -
docker system df -v
可以看到更加详细的信息; -
docker system prune
清理停掉的container、悬挂的image(没有tag)、没有使用的network、数据卷;
清理脚本:磁盘使用率超过50%后,保留最新的5个镜像,其他的都删掉。
#!/bin/bash
# docker clean
tp=`df -h | grep \/dev\/vdb | awk '{print $5}' | tr -d %`
t1=`docker images | grep -E "10.10.*sensors-log" |awk 'NR > 4 {printf "%s\n",$3}'`
t2=`docker images | grep -E "10.10.*satrun " |awk 'NR > 4 {printf "%s\n",$3}'`
deleteImage() {
if [ $tp -ge 50 ];then
for i in $1
do
docker rmi -f $i
#echo $i
done
fi
}
#delete sensors-log and sensors-logagent
for i in $t1
do
deleteImage $i
done
#delete saturn
for j in $t2
do
deleteImage $j
done