本文定位:Harbor镜像清理策略面向需要治理 Harbor 存储增长的运维和平台团队,聚焦保留规则、垃圾回收和误删边界,不写具体界面截图。
Harbor镜像清理策略不能只理解为“删旧 Tag”。在 Harbor 中,保留规则决定哪些镜像标签可被清理,垃圾回收负责释放不再引用的存储空间。如果顺序和边界不清晰,可能出现删了看似无用的 Tag 但空间没有下降,或者误删仍被环境依赖的版本。
清理前先确认哪些镜像不能动
镜像仓库承载的不只是构建产物,还包括生产回滚、灰度发布、审计追溯和多环境交付。清理前要先划出保护范围,再定义可删除范围。尤其是生产环境正在运行的 digest、最近发布窗口内的版本、基础镜像和合规留存版本,不应被普通保留规则覆盖[1]。
建议先建立三类清单:
- 必须保留:生产当前版本、最近一次回滚版本、基础镜像、被策略要求留存的版本。
- 可延迟清理:预发、测试、临时分支构建,需保留一个较短窗口。
- 可立即清理:失败流水线产物、过期分支 Tag、重复推送但无环境引用的镜像。
镜像生命周期管理可以与站内 容器镜像 主题一起沉淀,避免清理动作只依赖单次人工判断。

图1:Harbor镜像清理中保留规则、Tag、Artifact
保留规则用于选出可清理对象
Harbor 的 Tag Retention Rules 可按仓库、Tag匹配、保留数量或保留时间等条件管理镜像标签[1]。它适合表达“每个仓库保留最近 N 个发布版本”“保留最近一段时间的 main 分支镜像”“清理特定前缀的临时 Tag”等规则。
设计保留规则时要避免两个极端:
- 规则过宽,把所有分支、环境和镜像类型混在一起,导致重要版本被纳入清理范围。
- 规则过细,每个仓库都人工维护,后续没人知道哪个规则仍有效。
比较稳妥的方式是按项目或业务线设计基础规则,再对生产仓库、基础镜像仓库和共享组件仓库单独设置保护策略。对自动构建频繁的仓库,可以用分支前缀或 Tag 命名约定降低误删概率。

图2:Harbor镜像清理策略中按环境、Tag类型和回滚窗口判
垃圾回收才真正释放空间
删除 Tag 不等于立即释放存储。镜像层、Artifact 和 Blob 之间存在引用关系,只有当数据不再被任何 Artifact 引用,垃圾回收才可能回收对应空间[2]。因此,清理后空间没有明显下降,并不一定代表规则失败,可能是镜像层仍被其他版本复用。
执行 GC 前至少确认:
- 是否已完成保留规则执行,并确认待删除对象符合预期。
- 是否避开高峰期,避免影响仓库读写性能。
- 是否了解当前 Harbor 部署对在线 GC、删除行为和任务记录的支持范围[2]。
- 是否已有仓库存储和数据库备份方案,防止误操作后无法追溯。
GC 更像一次存储整理动作,不应和业务发布抢资源。对于大型仓库,建议把 GC 纳入固定维护窗口,并保留执行前后的空间、Artifact 数量和任务日志记录[2]。
验证结果不能只看磁盘剩余空间
磁盘空间会受到对象存储延迟、层复用、后台任务和压缩策略影响。更可靠的验证应同时查看项目容量、仓库镜像数量、保留规则执行日志、GC任务状态和发布流水线是否能继续拉取目标镜像[2]。
清理完成后建议检查:
- 保留范围内的生产 Tag 是否仍可拉取。
- 最近发布和回滚版本是否没有被清理。
- 仓库容量变化是否符合预期,若不明显,是否由共享层复用导致。
- Harbor 任务日志是否存在失败、跳过或权限相关提示。
如果一次清理需要删除大量旧版本,建议先在非生产项目演练相同规则,再扩大到生产仓库。这样能提前发现 Tag 命名不一致、仓库分类混乱和规则匹配过宽的问题。

图3:Harbor垃圾回收执行前后从保护范围、任务日志到空间释
小结
Harbor镜像清理策略的顺序应是:先定义不能删除的保护范围,再用保留规则筛选可清理 Tag,随后通过垃圾回收释放不再引用的数据,最后从容量、任务日志和业务拉取三方面验证结果。
不要把 Tag 删除当作空间回收的全部。真正稳定的镜像仓库治理,还需要命名规范、发布留存策略、维护窗口和回滚版本保护一起配合。
参考资料
常见问题
Harbor镜像清理策略会自动释放磁盘空间吗?
不会完全自动。保留规则主要决定哪些 Tag 可被清理,空间释放还依赖垃圾回收。若镜像层仍被其他 Artifact 引用,空间下降可能不明显。
删除Tag会影响正在运行的Pod吗?
已经运行的容器通常不会因为远端 Tag 删除而立即停止,但后续重建、扩容或回滚可能需要重新拉取镜像。生产当前版本和回滚版本应进入保护范围。
Harbor垃圾回收适合在业务高峰执行吗?
不建议。GC 可能带来仓库读写压力和任务排队,应放在维护窗口执行,并提前确认备份、任务日志和回滚预案。
保留最近几个版本比较合适?
没有通用固定值。建议结合发布频率、回滚窗口、合规留存和存储成本决定。高频发布服务可以保留较短时间窗口,但生产和基础镜像应单独保护。