Docker 注册表与 Nexus/Artifactory

问题描述 投票:0回答:1

Docker引擎中的“Docker注册表”与Nexus/Artifactory类似吗?它们之间有什么相同点和不同点?如果我们已经有了 Nexus,我们可以使用它作为 Docker 注册表的替代品并将其插入 Docker 引擎吗?

有人可以帮我解决这个问题吗?

docker nexus artifactory docker-registry
1个回答
34
投票

Docker 注册表是用于管理 Docker 镜像的存储库。注册表是它自己的一项服务,而不是 Docker 引擎的一部分。
注册表的用法与 Artifactory 或 Nexus 等存储库管理器类似,但有一个很大的区别:存储库管理器通常能够管理不同类型技术的存储库,例如:Maven、NPM、Ruby Gems、CocoaPods、Git LFS、蟒蛇蛋等。纯 Docker 注册表将仅管理 Docker 映像。
在选择管理 Docker 注册表的工具时,您应该考虑以下几点:

  1. 性能 - Docker 镜像可能很大。在每天生成大量 Docker 镜像的 CI/CD 环境中,您需要一个能够随着您的增长处理负载和规模的工具。一些工具提供集群 (HA) 版本,允许在多个节点之间分散负载。

  2. 存储管理 - Docker 镜像消耗大量存储空间。最好选择一个能够有效管理所需存储的工具:

    • 支持图像和存储库之间图像层的重复数据删除。
    • 有效清理未使用的图像层(垃圾收集)。请注意,某些工具提供了 stop the world GC 机制,这会损害性能。
    • 提供图像清理程序/机制,允许根据年龄、使用情况等删除图像。
    • 支持多种存储后端——文件系统、对象存储。
  3. 支持多个注册表 - 某些工具限制您只能管理单个注册表,而其他工具则允许并行管理多个注册表。当您需要区分快照和生产就绪图像时,这非常有用。

  4. 支持最新的 Docker 版本 - Docker 注册表 API 和清单格式经常变化。确保您选择的工具支持所有最新更改。

  5. 通用 - 如果您需要管理的不仅仅是 Docker 镜像(通常是这种情况,因为您还使用 NPM、Bower、Yum 等也需要注册表的工具),请选择支持此类技术的通用存储库管理器。

  6. 企业就绪 - 寻找一款企业就绪的工具,支持 LDAP 连接、基于角色的访问控制、高可用性、多站点开发等功能。


免责声明:我在 JFrog 工作,该公司是 Artifactory 背后的公司。

© www.soinside.com 2019 - 2024. All rights reserved.