推送映像

Azure DevOps Services

使用 Azure Pipelines 将映像推送到容器注册表,例如 Azure 容器注册表、Docker Hub 或 Google 容器注册表。 Azure 容器注册表是基于开源 Docker 注册表 2.0 的托管注册表服务。

有关生成映像并将其推送到容器注册表的教程,请参阅生成 Docker 映像并将其推送到 Azure 容器注册表

若要了解如何生成可通过 Azure Pipelines 部署的容器映像,请参阅生成容器映像以部署应用

关于 Docker 任务

你将使用 Docker@2 任务生成或推送 Docker 映像、登录或注销、启动或停止容器,或者运行 Docker 命令。

该任务使用 Docker 注册表服务连接登录并推送到容器注册表。 创建 Docker 注册表服务连接的过程因注册表而异。

Docker 注册表服务连接在推送映像之前会将凭据存储到容器注册表中。 你也可以直接在 Docker 中引用服务连接,而无需使用额外的脚本任务。

创建 Docker 服务连接

需要遵循不同的过程为 Azure 容器注册表、Docker Hub 和 Google 容器注册表创建服务连接。

使用 Azure 容器注册表选项时,将使用订阅(与登录到 Azure DevOps 的用户的 Microsoft Entra 标识相关联)和订阅中的容器注册表来创建服务连接。

当你为包含 Dockerfile 的存储库创建新管道时,Azure Pipelines 将检测该存储库中的 Dockerfile。 若要开始此过程,请创建一个新管道,并选择包含 Dockerfile 的存储库。

  1. 在“配置”选项卡中,选择“Docker - 生成映像并将其推送到 Azure 容器注册表”任务。

    Screenshot of Build and push Docker images to Azure Container Registry.

  2. 选择你的 Azure 订阅,然后选择“继续”。

  3. 从下拉菜单中选择“容器注册表”,然后为容器映像提供“映像名称”。

  4. 完成后,选择“验证并配置”。

    A screenshot showing how to configure a docker pipeline to build and publish an image to Azure Container Registry.

    Azure Pipelines 在创建管道的过程中会执行以下操作:

    • 创建一个 Docker 注册表服务连接,使管道能够将映像推送到容器注册表。

    • 生成一个 azure-pipelines.yml 文件用于定义管道。

有关更详细的概述,请参阅生成并推送到 Azure 容器注册表文档