0x00 事件

Harbor 私有仓库中占有的存储慢慢越来越大,使用官方的清理工具以及 UI 上的垃圾清理,都似乎也不能清理掉……

后来吾用了一种简单粗暴的方法清理镜像——删除 harbor registry

0x01 处理

此方法只会删除掉仓库内的所有镜像,不会删除在 Harbor UI 上看到的项目以及镜像名称,所以只要再构建镜像上传回来私有仓库,就能正常使用。

这需要考虑应用场景,如私有仓库内的镜像都可以不保留(反正需要更新),那么可以使用吾这种粗暴的方法。

1、删除 harbor registry

在 harbor 的 docker-compose.yml 文件中,看到了 registry 的 storage 映射在宿主机的 /data/registry 目录

Harbor 清理镜像(此方法比较粗暴,但是有效)-LMLPHP

接下来去这个目录下删东西

# 停止 Harbor 服务
[root@harbor harbor]# docker-compose down
# 进入 sha256 目录
[root@harbor ~]# cd /data/registry/docker/registry/v2/blobs/sha256/
# 查看大小
[root@harbor sha256]# du -h --max-depth=1 .
# 删除 sha256 目录下所有文件
[root@harbor sha256]# rm -rf ./*
# 重启 Harbor 服务
[root@harbor harbor]# cd -
[root@harbor harbor]# docker-compose -d

2、垃圾清理

因为是粗暴清理,所以还会存在一些关系依赖,从而会导致镜像拉不下来,

所以立即清理垃圾,清理完成即可正常上传下载。

Harbor 清理镜像(此方法比较粗暴,但是有效)-LMLPHP

05-26 08:53