首先说明:harbor 删除实际是软删除,并没有实际删除物理资源。这是harbor磁盘占用越来越大的主要原因。

  • 找到harbor安装位置(实例时docker-compose 安装)

找到harbor的位置通过配置文件确定挂载的目录以及镜像,确认磁盘的实际使用量。

  • 找到harbor挂载的磁盘目录的位置

通过上图可以看出挂载目录是和docker-compose在同一个目录,查找到这个目录可以验证执行垃圾回收操作后实际删除了多少垃圾。

  • 执行清理命令(改命令是docker run 的方式 使用harbor现有 registry 的volumes 卷 来清理)
docker run -it --name gc --rm --volumes-from registry  vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml

注意: 命令中 的registry 是harbor 里面 registry 在docker的名称

通过命令可以看出使用镜像执行 garbage-collect命令 执行完后删除镜像。

还可以进入registry 容器,然后通过命令(比较老的版本)

# 测试回收,不会真回收,可在日志中看到要回收的镜像
$ registry garbage-collect --dry-run /etc/registry/config.yml
# 执行回收,没有后悔药
$ registry garbage-collect /etc/registry/config.yml

总结: 清空间有2条思路: 1、人工去删除不需要的镜像、项目或者版本; 2、清理软删除的如上文所说。

写本文的目的是为了大家更方便理解和删除harbor的占用磁盘

新版可以看这里的官网哦 

最后:贴上参考连接 harbor blobs占用的空间越来越大的情况记录和解决办法 - 简书 Garbage collection | Docker Documentation harbor磁盘爆满,执行垃圾回收清理镜像_aoheyi9054的博客-CSDN博客

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐