Gitlab官方文档容器仓库垃圾回收
GitLab Container Registry administration-Container Registry garbage collection
Gitlab的容器镜像库随着镜像的提交,迭代会不断的变大
我们可以通过配置清理镜像标签功能,来清理镜像的标签,但是这只会清理镜像的标签和layer的引用,并不会真正的清理镜像所占用的空间,因为docker仓库的设计如此,避免清理后新上传的内容要重复上传,或者再追溯的时候丢失的关键信息。
但是如果对于审计优先级不高的团队,服务器又没有很大空间的情况来说,这就没有太大帮助了,可以使用Gitlab的垃圾回收功能实现删除无引用关系的镜像数据,释放实际的磁盘空间
停机执行垃圾回收
停用服务
sudo gitlab-ctl stop
清理镜像空间
# Recycling unused tags
sudo /opt/gitlab/embedded/bin/registry garbage-collect /var/opt/gitlab/registry/config.yml
# Removing unused layers not referenced by manifests
sudo /opt/gitlab/embedded/bin/registry garbage-collect -m /var/opt/gitlab/registry/config.yml
启用服务
sudo gitlab-ctl start