解决harbor上删除镜像不释放空间

docker镜像仓库中镜像的清理,一直是个比较麻烦的事情。尤其是在测试环境当中,每天都会有大量的构建。由此会产生大量的历史镜像,而这些镜像,大多数都没有用。

在harbor中,清理镜像,也得分为两步,第一步是从ui中删除历史镜像。这个时候镜像并不会被真正删除,好在harbor集成了镜像删除的功能。

网上其他博客都需要先将harbor停止,然后通过gc来清理磁盘上的镜像,而我是通过直接调用harbor的api功能,将镜像删除,无需停止运行harbor

REGISTRY_ID=`docker ps | grep registry| awk '{print $1}'`   
docker exec ${REGISTRY_ID} registry garbage-collect /etc/registry/config.yml  # 释放通过api已删除的镜像空间