镜像推上去就不管了?Harbor 制品仓库的权限管控、漏洞扫描与 200GB 存储治理

概述 凌晨两点,手机震了一下。磁盘告警——95%。 爬起来一看,Harbor 服务器 /data/registry 目录占了 200GB,里面堆了 3000 多个 tag。有去年测试时推的 app:v0.0.3-beta,有构建失败残留的 app:feature-branch-xxx,还有十个版本的 base image 副本——每个都 800MB 起步。 这不是个例。我在多个团队见过同样的剧本:CI/CD 跑起来之后,镜像只管推不管清,三个月后磁盘就炸。更麻烦的是,有些镜像带着已知 CVE 漏洞跑在生产上,权限管理形同虚设——谁都能推、谁都能拉,项目之间没有隔离。 这篇文章解决三个问题:镜像怎么管权限、怎么拦漏洞、怎么清垃圾。我会用 Harbor(CNCF 毕业项目,目前 GitHub 29k+ star)从安装到生产配置走一遍,每一步都给出可直接复制的配置。如果你刚开始搭制品仓库,或者已经有了但管得稀里糊涂,这篇能帮你少走弯路。 为什么需要制品仓库 先说清楚一个概念:制品仓库(Artifact Repository)不是 Docker Hub。 Docker Hub 是公共镜像托管平台,类似 npm 的 registry。你在上面拉官方镜像没问题,但拿它存公司业务镜像?有几个硬伤: 没有细粒度权限。Docker Hub 的 organization 只有 admin 和普通成员,做不到"测试团队能推 dev 项目、不能碰 prod 项目" 没有漏洞扫描。推上去就推上去了,CVE 该有还是有 没有保留策略。镜像只增不减,除非手动删 网络不稳定。国内拉 Docker Hub 限速、超时是家常便饭 Harbor 解决的就是这些问题。说白了,Harbor = Docker Registry + 权限管理 + 漏洞扫描 + 复制同步 + 审计日志。它像一个带安保、带分拣、带回收站的仓库,而不是一个露天堆场。 类比一下:Docker Hub 像公共停车场,谁都能进;Harbor 像企业内部车库,分区域(项目)、刷卡进(RBAC)、进门安检(漏洞扫描)、定期清退僵尸车(GC + 保留策略)。...

September 3, 2026 · 8 分钟 · 1532 字 · 徐保金