Docker引擎中的“Docker注册表”与Nexus/Artifactory类似吗?它们之间有什么相同点和不同点?如果我们已经有了 Nexus,我们可以使用它作为 Docker 注册表的替代品并将其插入 Docker 引擎吗?
有人可以帮我解决这个问题吗?
Docker 注册表是用于管理 Docker 镜像的存储库。注册表是它自己的一项服务,而不是 Docker 引擎的一部分。
注册表的用法与 Artifactory 或 Nexus 等存储库管理器类似,但有一个很大的区别:存储库管理器通常能够管理不同类型技术的存储库,例如:Maven、NPM、Ruby Gems、CocoaPods、Git LFS、蟒蛇蛋等。纯 Docker 注册表将仅管理 Docker 映像。
在选择管理 Docker 注册表的工具时,您应该考虑以下几点:
性能 - Docker 镜像可能很大。在每天生成大量 Docker 镜像的 CI/CD 环境中,您需要一个能够随着您的增长处理负载和规模的工具。一些工具提供集群 (HA) 版本,允许在多个节点之间分散负载。
存储管理 - Docker 镜像消耗大量存储空间。最好选择一个能够有效管理所需存储的工具:
支持多个注册表 - 某些工具限制您只能管理单个注册表,而其他工具则允许并行管理多个注册表。当您需要区分快照和生产就绪图像时,这非常有用。
支持最新的 Docker 版本 - Docker 注册表 API 和清单格式经常变化。确保您选择的工具支持所有最新更改。
通用 - 如果您需要管理的不仅仅是 Docker 镜像(通常是这种情况,因为您还使用 NPM、Bower、Yum 等也需要注册表的工具),请选择支持此类技术的通用存储库管理器。
企业就绪 - 寻找一款企业就绪的工具,支持 LDAP 连接、基于角色的访问控制、高可用性、多站点开发等功能。
免责声明:我在 JFrog 工作,该公司是 Artifactory 背后的公司。