Azure Container Registry简介

Azure Container Registry是基于开源 Docker 平台的托管注册表服务。 创建和维护 Azure 容器注册表以存储和管理 容器镜像和相关工件

将容器注册表用于现有容器开发和部署管道,或使用Azure Container Registry任务在Azure中生成容器映像。 可以通过源代码提交和基础映像更新等触发器按需生成或完全自动生成。

Azure提供Azure CLI、Azure门户和 API 支持等工具来管理容器注册表。 (可选)安装适用于Visual Studio Code的 Container Tools 扩展。 可以使用此扩展来执行将映像拉取和推送到注册表等任务,所有这些任务都在Visual Studio Code中。

容器注册表在三个层(SKU):基本、标准和高级版中可用。 每个层都支持常见功能,例如 Webhook 集成、具有Microsoft Entra ID的注册表身份验证和删除功能。 高级注册表支持其他功能,并具有更大的存储和限制。 有关不同层的更多详细信息,请参阅 Azure Container Registry SKU

通过在部署所在的同一 Azure 地理位置创建注册表,利用容器映像的本地、网络接近存储。 高级注册表的 异地复制 功能支持跨地理位置进行高级复制和容器映像分发。

容器注册表部署目标和工作流

将映像从Azure容器注册表拉取到各种部署目标:

开发人员还可以在执行容器开发工作流的过程中将内容推送到容器注册表。 例如,可以从持续集成和持续交付(CI/CD)工具(如 Azure PipelinesJenkins)将容器注册表作为目标。

配置 Azure Container Registry 任务以在更新基础映像时自动重新生成应用程序映像,或者在团队将代码提交到 Git 存储库时自动生成映像。 使用任务将开发内部循环扩展到云端,具体方法是将docker build操作卸载到 Azure,或配置构建任务以实现容器操作系统和框架修补管道的自动化。 创建 多步骤任务 ,以在云中并行生成、测试和修补容器映像。

支持的映像和工件

在存储库中对映像进行分组时,每个映像都是 Docker 兼容的容器的只读快照。 Azure容器注册表可以同时包括Windows和 Linux 映像。 您可以控制所有容器部署的镜像名称。

使用标准 Docker 命令可将映像推送到存储库,或者从存储库中提取映像。 Azure Container Registry存储Docker容器镜像和相关内容格式,例如Helm 图表和根据开放容器倡议(OCI)镜像格式规范构建的镜像。

容器注册表安全性和访问

使用 Azure CLI 或标准 docker login 命令向注册表进行身份验证。 Azure Container Registry通过 HTTPS 传输容器映像,并支持 TLS 来帮助保护客户端连接。

控制访问通过使用 Azure 标识、Microsoft Entra 服务主体 或提供的管理员帐户来控制对容器注册表的访问。 使用 Azure 基于角色的访问控制 (RBAC)向用户或系统分配特定的注册表权限。

高级服务层的安全功能包括用于映像标记签名的内容信任,以及用于限制注册表访问的专用终结点(预览)。 每当将映像推送到注册表时,Microsoft Defender for Cloud可以选择与 Azure Container Registry 集成,以扫描映像