Docker 虽然提供公有镜像仓库
Docker hub
,但是满足不了绝大部分企业对镜像仓库私有化部署的需求。
私有镜像仓库解决方案中,作为 CNCF 项目的
Harbor
长期处于统治地位,得到非常广泛的使用。
近期 Red Hat 开源镜像仓库项目
Quay
,为私有镜像仓库增加了一种选择,因此引起了大家的极大兴趣。
下面将全面地对比 Harbor 和 Quay,为它们之间的选型提供指导。
Overview
Harbor 是 VMware 中国研发团队在 2016 年开源的镜像仓库项目。当时一般使用 Docker 官方提供的 Docker Registry 部署私有镜像仓库,
但是它只能提供 API 和镜像的操作,缺少 UI 和其他辅助功能,对普通用户很不友好。
Harbor 就是抓住这点,在原生 Docker Registry 基础上打造企业级镜像仓库,满足企业对镜像仓库的一些额外需求,因此能够快速地推广开来。
Quay 其实是非常有名的开源公司
CoreOS
的产品,CoreOS 在 2018 被 Red Hat 收购。
CoreOS 是一家非常有创新力的公司,开发出很多明星级的开源项目,例如:分布式 KV 存储
etcd
,镜像安全扫描
clair
等。
Quay 在开源之前,一直以公有镜像仓库提供服务
quay.io
,类似于 Docker hub。这次开源后,能够提供私有化部署。
Harbor 和 Quay 不仅功能上非常类似,而且名字上也非常接近。Harbor 是港湾、港口的意思,而 Quay 是指码头。
Harbor vs Quay
Harbor 和 Quay 的定位都是镜像仓库解决方案,它们之间的各方面对比如下表所示:
从多方面的详细对比来看,Harbor 和 Quay 的绝大部分功能都是重叠的。但是,Harbor 特有的多仓库管理以及镜像同步功能,一直作为 Harbor 非常大的亮点,并且有很大的实用价值。
Harbor 支持中文,对于广大中国用户的来说,也是一个非常大的优势。至于 Quay 有而 Harbor 没有的 SCM 集成的能力,并不能为 Quay 形成多大优势。
因为绝大部分企业已经有基本的 CI,而 Quay 提供的构建能力太简单,不足以替换现有的 CI。
Conclusion
Quay 相对于 Harbor 并没有明显优势,但是存在作为新开源项目两个不可避免的劣势:用户积累,开源社区。
Harbor 已经积累了广泛的用户,各方面都得到充分地检验,加上 CNCF 的背书,会使其用户群体进一步快速扩大。在这种情况下,Quay 是很难跟 Harbor 抢用户的。
Harbor 的核心贡献者虽然仍是 VMWare,但是经过这么多年的积累,已经形成了相对完善的社区,这对一个开源项目的快速发展也是至关重要的。
因此,Quay 的开源并不能撼动 Harbor 的地位,Harbor 仍将是私有镜像仓库领域的王者。