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

什么是连接注册表?

本文介绍 Azure 容器注册表的连接注册表功能。 已连接注册表是本地或远程副本,它将容器映像与基于云的 Azure 容器注册表同步。 使用已连接注册表,帮助加快对本地或远程注册表项目的访问。

计费

重要

从 2025 年 8 月 1 日开始的已连接注册表计费最近 发生了重要更改 。 正在更新定价计算器,以反映此更改。

  • 每月价格为 10 美元,适用于在 2025 年 8 月 1 日或之后部署的每个连接的注册表。
  • 此价格代表了 Microsoft 提供高质量服务和产品支持的承诺。
  • 此成本适用于与父注册表关联的 Azure 订阅。

可用区域

可以在任何提供 Azure 容器注册表的区域部署连接的注册表。

方案

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

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

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

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

连接注册表的工作原理

连接的注册表可以部署在本地服务器或设备,或者支持本地容器工作负荷的环境,例如已启用 Azure Arc 的 Kubernetes 群集。 连接的注册表将容器映像和其他 OCI(开放容器计划)项目与基于云的 Azure 容器注册表同步。

下图显示了使用已启用 Azure Arc 的 Kubernetes 的已连接注册表的典型部署模型。

使用已启用 Arc 的 Kubernetes 的已连接注册表概述示意图。

部署

每个已连接注册表都是你在基于云的 Azure 容器注册表中管理的资源。 已连接注册表层次结构中的顶部父级是 Azure 云中的 Azure 容器注册表。 可以在已启用 Arc 的 Kubernetes 群集上部署连接的注册表。 若要安装连接的注册表,请使用 Azure 工具,例如 CLI 或门户。

将已连接注册表 Arc 扩展部署到已启用 Arc 的 Kubernetes 群集。 使用默认配置保护与 TLS(传输层安全性)的连接,以便进行只读访问和连续同步窗口。 此设置允许已连接注册表将映像从 Azure 容器注册表 (ACR) 同步到本地已连接注册表,从而允许从已连接注册表中拉取映像。

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

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

内容同步

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

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

模式

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

ReadOnly 模式 - 默认模式,在已连接注册表使用 ReadOnly 模式时,客户端只能拉取(读取)项目。 此配置用于客户端需要拉取容器映像进行操作的场景。 此默认模式符合我们的默认安全方法,并从 CLI 版本 2.60.0 开始有效。

ReadWrite 模式 - 此模式允许客户端向已连接注册表拉取并推送项目(读取和写入)。 推送到连接注册表的项目将与云注册表同步。 在本地开发环境准备就绪时,ReadWrite 模式非常有用。 映像将推送到本地连接的注册表,并从中将映像同步到云。

注册表层次结构

每个连接注册表都必须连接到父项。 顶层父项是云注册表。

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

客户端访问

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

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

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

限制

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

结束语

在本文中,你了解了连接的注册表和一些基本概念。 若要详细了解可以使用连接注册表的特定方案,请继续阅读以下文章之一。