Docker Registry与Nexus / Artifactory

时间:2016-12-12 19:23:07

标签: docker nexus artifactory docker-registry

' Docker注册表'在Docker引擎中类似于Nexus / Artifactory?它们之间有什么相似之处和不同之处?如果我们已经拥有Nexus,我们可以使用它作为Docker注册表的替代方案并将其插入Docker引擎吗?

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

1 个答案:

答案 0 :(得分:23)

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

  1. 性能 - Docker镜头可能很大。在每天生成大量Docker镜像的CI / CD环境中,您需要一个能够随着成长而处理负载和扩展的工具。有些工具提供了集群(HA)版本,允许在多个节点之间分配负载。
  2. 存储管理 - Docker镜像占用大量存储空间。最好选择有效管理所需存储的工具:
    • 支持图像和存储库之间图像层的重复数据删除
    • 有效清理未使用的图像层(垃圾回收)。请注意,某些工具可以阻止影响性能的世界GC机制。
    • 提供图像清理程序/机制,允许根据年龄,使用情况等删除图像。
    • 支持多个存储后端 - 文件系统,对象存储
  3. 支持多个注册表 - 某些工具限制您管理单个注册表,而其他工具允许并行管理多个注册表。当您需要将快照和生产就绪图像分开时,这非常有用。
  4. 支持最新的Docker版本 - Docker注册表API和清单格式经常发生变化。确保选择支持所有最新更改的工具。
  5. 通用 - 如果您需要管理的不仅仅是Docker映像,这通常就是这种情况,因为您还使用了NPM,Bower,Yum等需要注册表的工具,请选择通用存储库支持此类技术的经理。
  6. 企业就绪 - 寻找一种企业就绪的工具,支持LDAP连接,基于角色的访问控制,高可用性,多站点开发等功能。
  7. 免责声明:我为Artifactory背后的公司JFrog工作