关于Harbor上镜像删除

本文介绍了如何在Harbor中删除容器镜像的具体步骤。包括通过UI界面进行软删除及使用garbage collect命令进行硬删除的过程。

参考:https://github.com/vmware/harbor/blob/master/docs/user_guide.md

关于Harbor上容器镜像的删除,有如下的介绍:
这里写图片描述

可以简单概括为:

Harbor的UI界面上先删除镜像,但这个操作并没有删除磁盘上存放的镜像文件,只是镜像文件manifest的映射关系,还需要通过GC来删除。

先停止Harbor:

docker-compose stop

通过带有–dry-run选项,可以查看到将要删除的镜像文件:

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

不带–dry-run选项,直接执行删除:

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

再启动Harbor:

docker-compose start

从上面可以知道,如果要定期的删除大量的镜像还是很麻烦的。目前还没有发现Harbor有可调用的Rest API来实现镜像的删除,如果有就更方便了。

### 如何配置 Harbor 实现镜像自动删除 为了实现 Harbor 中的镜像自动删除功能,主要依赖于 Harbor 的垃圾回收机制以及策略管理。具体操作如下: #### 启用垃圾回收机制 Harbor 提供了内置的垃圾回收(GC)工具来清理未被使用的镜像层和标签。管理员可以通过命令行手动触发 GC 或者设置定时任务定期执行。 对于基于 Docker EE 构建的企业级产品来说,确保所使用的 Harbor 版本兼容当前环境非常重要[^1]。 ```bash docker exec -it harbor_core_1 /home/harbor/prepare docker exec -it harbor_jobservice_1 sh -c "cd /harbor && ./gc.sh" ``` 以上脚本用于准备并启动一次完整的垃圾收集过程。 #### 创建保留策略 除了通过 GC 工具进行物理层面的数据清除外,还可以利用 Harbor 自带的“保留策略”特性,在逻辑上控制哪些旧版本应该被淘汰掉。这允许用户定义特定条件下的过期规则,例如超过一定时间后不再活跃的 tag 将会被标记为可删除状态。 进入 Harbor Web UI -> Administration Settings -> Retention 页面创建新的规则集,并指定作用范围(全局或选定项目)、过滤器参数(如仓库名称模式匹配、tag 前缀等),最后保存生效即可[^2]。 需要注意的是,当涉及到数据库连接失败等问题时,应先排查是否由于缺少必要的数据源 URL 配置引起[^3];不过这类情况通常不会直接影响到镜像生命周期管理工作流的设计与实施。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值