首页
首页
文章目录
  1. 简介
  2. 基础环境说明
  3. 处理思路
  4. 最终脚本

迟到的docker仓库Harbor镜像删除与空间释放

简介

这是一篇迟到的文章,本来很久之前就想写的(最少有一年这个念头了),由于懒等原因,拖到了今天才写这篇文章,文章主要内容是清理Harbor仓库的历史镜像与释放仓库空间。

基础环境说明

系统 Harbor版本 docker版本
Centos7.2 1.1.2 17.06.0-ce

处理思路

1、用Harbor仓库的api来实现命令行下批量删除

1
curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "http://127.0.0.1:8888/api/repositories/仓库文件夹/镜像名称/tags/tags版本号"

说明:

admin:Harbor12345为仓库的账户密码

127.0.0.1:8888表示Harbor的web地址

2、在通过官方推荐命令来释放空间

直接上命令

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

最终脚本

1
2
3
4
5
6
for i in {1..100}
do
curl -u "admin:Harbor12345" -X DELETE -H "Content-Type: application/json" "http://127.0.0.1:8888/api/repositories/仓库文件夹/镜像名称/tags/tags版本号$i"
done
REGISTRY_ID=`docker ps | grep registry| awk '{print $1}'` # 获取registry的容器运行id
docker exec ${REGISTRY_ID} registry garbage-collect /etc/registry/config.yml # 释放通过api已删除的镜像空间

以上
End!

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫