docker清理

故障:测试环境发现资源严重不足,发现K8S节点被打上污点node.kubernetes.io/disk-pressure:NoSchedule。经排查发现。节点磁盘不足则会出现这种情况。解决磁盘满了问题。污点自动删除。如果手动强行删除。污点会重新打上。所以必须解决磁盘问题。

继续排查发现。docker/overlay2目录占用大量磁盘。发现本地镜像过多。

解决:
docker system prune [ -a]
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
-a :清理得更加彻底,可以将没有容器使用Docker镜像都删掉。

docker system df
查看Docker的磁盘使用情况

书写脚本清理无用镜像
[root@master ~]# cat /usr/bin/cleanimg 
#!/bin/bash
num=`docker ps -a|grep Exit|wc -l`
if [ ${num} -gt 0 ];then
	docker rm $(docker ps -a|grep Exit|awk '{print $1}')
fi
docker image prune -a -f


docker image prune命令用于删除未使用的映像。 如果指定了-a,还将删除任何容器未引用的所有映像。

--all, -a    显示所有映像(默认隐藏中间映像)
--force, -f  不要提示确认
posted @ 2023-06-12 10:55  安生丶  阅读(41)  评论(0编辑  收藏  举报