你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是连接注册表?

本文介绍 Azure 容器注册表的连接注册表功能。 连接注册表是本地或远程副本,它可将容器映像和其他 OCI 项目与基于云的 Azure 容器注册表同步。 使用连接注册表可帮助加速访问本地注册表项目,并构建高级方案,例如使用 嵌套 IoT Edge

注意

连接注册表是高级容器注册表服务层的预览功能,它存在限制。 若要了解注册表服务层和限制,请参阅 Azure 容器注册表服务层

可用区域

  • 加拿大中部
  • 东亚
  • 美国东部
  • 北欧
  • 挪威东部
  • 东南亚
  • 美国中西部
  • 西欧

方案

基于云的 Azure 容器注册表提供的功能包括异地复制、集成安全性、Azure 托管存储以及与 Azure 开发和部署管道的集成。 与此同时,客户在云方面的投资正在延伸到本地及现场解决方案。

若要在本地或远程环境运行时实现所需的性能和可靠性,容器工作负载需要就近可用的容器映像和相关项目。 连接注册表提供一个高性能的本地注册表解决方案,该解决方案定期与基于云的 Azure 容器注册表同步内容。

连接注册表适用的方案包括:

  • 连接工厂
  • 销售点零售地点
  • 装运、石油开采、矿业和其他偶尔连接环境

连接注册表的工作原理

下图显示了连接注册表的典型部署模型。

Diagram of connected registry overview

部署

每个连接注册表都是使用基于云的 Azure 容器注册表管理的资源。 连接的注册表层次结构中的顶部父级是 Azure 云中的 Azure 容器注册表。

使用 Azure 工具将连接注册表安装在本地服务器或设备上,或在支持本地容器工作负载(例如 Azure IoT Edge)的环境中。

连接注册表的激活状态指示是否已在本地部署。

  • 活动 - 当前已在本地部署连接注册表。 在停用连接注册表之前无法再次进行部署。
  • 非活动 - 当前未在本地部署连接注册表。 此时可进行部署。

内容同步

连接注册表会定期访问云注册表,以同步容器映像和 OCI 项目。

还可将其配置为同步云注册表中的存储库子集,或仅在特定时间间隔内进行同步以降低云与本地之间的流量。

模式

连接注册表可以采用这两种模式之一工作:ReadWrite 或 ReadOnly

  • ReadWrite 模式 - 此默认模式允许客户端向连接注册表拉取并推送项目(读取和写入)。 推送到连接注册表的项目将与云注册表同步。

    在本地开发环境准备就绪时,ReadWrite 模式非常有用。 映像将会推送到本地连接注册表,并从此处同步到云。

  • ReadOnly 模式 - 在连接的注册表使用 ReadOnly 模式时,客户端只能拉取(读取)项目。 此配置用于嵌套 IoT Edge 方案,或客户端需要拉取容器映像进行操作的其他方案。

注册表层次结构

每个连接注册表都必须连接到父项。 顶层父项是云注册表。 对于嵌套 IoT Edge等分层方案,可以嵌套任一模式下的连接注册表。 连接到云注册表的父项可在任一模式下运行。

子注册表必须与其父项功能兼容。 因此,ReadWrite 和 ReadOnly 模式下的连接注册表都可以是 ReadWrite 模式下运行的连接注册表的子项,但是 ReadOnly 模式下的注册表只能是 ReadOnly 模式下运行的连接注册表的子项。

客户端访问

本地客户端使用 Docker CLI 等标准工具向连接注册表推送或从中拉取内容。 若要管理客户端访问,请创建 Azure 容器注册表令牌,以便访问每个连接注册表。 可以将客户端令牌的作用域限定为对注册表中的一个或多个存储库进行拉取或推送访问。

每个连接注册表还需要定期与其父注册表通信。 为此,云注册表会为该注册表颁发同步令牌。 此令牌用于向其父注册表进行身份验证,以便进行同步和管理。

有关详细信息,请参阅管理对连接注册表的访问

限制

  • 每个容器注册表的令牌和作用域映射的数目限制为 20,000 个。 这间接限制了云注册表的连接注册表数,因为每个连接注册表需要一个同步客户端令牌。
  • 作用域映射中的存储库权限数量限制为 500 个。
  • 连接注册表对应的客户端数目前限制为 20 个。
  • 连接注册表目前不支持通过存储库/清单/标记元数据进行映像锁定
  • 不支持对使用 ReadOnly 模式的连接注册表进行存储库删除
  • 目前不支持连接注册表的资源日志
  • 连接注册表与该注册表的主区域数据终结点耦合。 不支持异地复制的自动迁移。
  • 删除连接注册表时,需要手动删除本地容器,并删除云中的各个作用域映射或令牌。
  • 连接注册表同步限制如下:
    • 对于连续同步:
      • minMessageTtl 为 1 天
      • maxMessageTtl 为 90 天
    • 对于偶尔的连接方案,要指定的同步时间段为:
      • minSyncWindow 为 1 小时
      • maxSyncWindow 为 7 天

后续步骤

本概述介绍了连接注册表及一些基本概念。 请继续阅读以下文章之一,了解可以使用连接注册表的具体方案。