Linux 系统部署 Harbor 自动清理策略管理镜像存储

轻静君_2215

轻静君_2215

2026-06-21

1088人浏览

原创

harbor镜像清理需软删除+垃圾回收(gc)两步才能释放磁盘空间;推荐使用v2.4+原生保留策略(ui配置),或api定制化清理,最后必须停机执行gc。

linux 系统部署 harbor 自动清理策略管理镜像存储

Linux 系统部署 Harbor 后,仅靠手动删镜像无法真正释放磁盘空间。自动清理策略必须配合软删除 + 垃圾回收(GC)两步才能生效,否则删了也白删。

启用 Harbor 原生保留策略(推荐 UI 配置)

Harbor v2.4+ 内置的 Retention Policy 是最稳妥、免写脚本的方案,适合大多数生产环境:

  • 登录 Harbor Web 控制台,进入目标项目 → 点击“策略”选项卡 → “添加规则”
  • 设置规则名称(如“半年镜像清理”),匹配仓库建议用 ** 覆盖全部仓库
  • 保留策略选“保留最近多少天被推送过的”,填 180(对应半年)
  • 勾选“删除未打标签的镜像”,避免残留 untaged blobs 占用空间
  • 执行频率设为每周一次(UTC 时间),例如 0 0 * * 6 表示每周六 UTC 0 点运行(国内为周六上午 8 点)
  • 配置完先点“模拟运行”,确认将要清理的镜像范围无误再启用

通过 API 实现定制化批量清理

当需要按标签前缀、创建时间或项目维度精细控制时,API 方式更灵活:

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
  • 先用管理员账号调用 /api/v2.0/projects/{project_id}/repositories 获取仓库列表
  • 对每个仓库调用 /api/v2.0/projects/{project_id}/repositories/{repo_name}/artifacts,筛选 push_time (即半年前)的镜像
  • 对符合条件的 artifact,逐个调用 DELETE /api/v2.0/projects/{project_id}/repositories/{repo_name}/artifacts/{digest}
  • 注意:每次请求需携带 Bearer Token,Token 从 /api/v2.0/users/current/permissions 或登录后 Cookie 提取
  • 建议加 sleep 间隔(如 0.5 秒),避免触发 Harbor 的 API 限流

执行垃圾回收释放物理空间

无论用 UI 还是 API 删除,都只是标记删除(soft delete)。必须运行 GC 才能清空底层 blobs:

  • 停止 Harbor 服务:docker-compose -f docker-compose.yml stop
  • 预览 GC 影响(安全第一):docker run --rm -it --volumes-from registry goharbor/registry-photon:v2.11.1 garbage-collect --dry-run /etc/registry/config.yml
  • 确认无误后执行真实 GC:docker run --rm -it --volumes-from registry goharbor/registry-photon:v2.11.1 garbage-collect /etc/registry/config.yml
  • 重启服务:docker-compose -f docker-compose.yml start
  • 验证效果:du -sh /data/registry/docker/registry/v2/blobs 对比前后大小

关键注意事项与避坑点

自动清理容易因配置疏漏导致误删或无效,这几个细节必须检查:

  • 保留策略默认按 推送时间(push_time) 判断,不是创建时间或拉取时间
  • GC 过程中 Harbor 必须处于停机状态,否则可能损坏正在上传的镜像层
  • 若使用 HTTPS,客户端访问 API 需提前信任 Harbor 的 CA 证书,否则返回 401 或连接拒绝
  • Harbor 数据目录(如 /data)所在分区剩余空间应始终 ≥20%,GC 临时文件可能占用额外空间
  • 策略启用后不会立即清理历史数据,只对后续满足条件的镜像生效;已有老镜像需手动触发“立即执行”或先跑一遍 API 清理

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker compose linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

820

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2372

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

816

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

689

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2136

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

3912

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

627

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习