如何清理镜像
概述
本文介绍如何清理 Docker 镜像、驱逐的 POD 以及私有镜像仓库的空间。
如何查找占用空间最大的目录
du -h --max-depth=1
du -h --max-depth=1 --exclude=./proc
du -h --max-depth=1 --exclude=./proc --exclude=./tmp
如何将 Docker 的所有 none 镜像全部删除
使用下面的命令将 docker 镜像以 <none> 开头显示的镜像全部删除:

docker images | grep "^<none>" | awk '{print $3}' | xargs docker image rm如何批量删除被驱逐的 POD
清理命令
以下命令可以批量清理
Evicted和Terminating状态的 POD。
# 删除所有 Evicted 状态的 POD
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
# 强制删除 Terminating 状态的 POD
kubectl get pods -n hy | grep Terminating | awk '{print $1}' | xargs kubectl delete pod -n hy --force --grace-period=0
相关文档: 命名空间删除失败
如何清理私有镜像服务器的镜像文件
执行下面的命令可以清理镜像残留文件:

步骤 1: 删除镜像索引
首先到 registry 的映射目录里面删除需要清理的镜像索引文件,存放位置是 docker/registry/v2/repositories 目录:

步骤 2: 执行垃圾回收
然后执行下面的命令清理实际文件:
docker exec 871929b0167e bin/registry garbage-collect /etc/docker/registry/config.yml相关文档: 搭建私有镜像服务器
返回: Kubernetes