最近有同事反馈部署harbor的服务器磁盘空间满了,导致相关服务无法启动。本计划直接扩容,但另一位同事发现将harbor中现有项目各自占用的磁盘空间加在一起,总共占用的空间是没有超过100G的,但目前harbor占用了312G。于是我们决定暂不扩容,而是先清理harbor磁盘空间。

通过以下三个操作,我们成功地清理出了299G的空间。

registry garbage-collect

网上提到最多的方法是用以下命令执行清理。

docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect  /etc/registry/config.yml

此方法,有一些用处,可以尝试运行下。但是需要注意的是,运行上面这行命令之前,需要启动harbor。如果按照很多教程说的先关闭harbor就会导致如下报错:

如何清理harbor的磁盘空间-LMLPHP
通过运行这个我们清理出了4G的空间。

harbor自带的清理工具

抱着碰个运气的想法,我在harbor上找到了这个工具,然后尝试运行了一下。没想到效果很好,直接清理出了240G的空间!
如何清理harbor的磁盘空间-LMLPHP

docker image prune -a

后来我又想到部署harbor的这台服务器上本身也有不少docker镜像,而且harbor中不少镜像就是在140上构建并推送的。而140上的本地docker镜像与harbor中的镜像是不互相影响的,所以可以删除140上的无用镜像以节约空间,通过docker image prune -a命令就可以完成。

如何清理harbor的磁盘空间-LMLPHP
通过这个方法我们,清理出了接近55G的空间。

05-26 20:39