通过


使用第三方容器注册表

Azure Developer CLI (azd) 支持用于部署的外部第三方容器注册表。 若要使用此功能,需要在调用 azd 部署之前手动向外部容器注册表进行身份验证。

身份验证

运行 docker login,并向外部容器注册表进行身份验证。 可能需要遵循特定注册表提供程序的更多设置或配置步骤。

docker login <your-registry>

示例方案

可以将 azd 配置为从模板的 azure.yaml 文件中的外部容器注册表推送和拉取图像。 对更多容器注册表的支持为部署工作流提供了更大的灵活性。

从外部容器注册表拉取

在此示例中,在 azd 部署期间,容器从 docker.io/username/nginx:latest 中拉取,并由容器应用服务直接引用。

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
services:
  nginx:
    image: docker.io/<username>/nginx:latest
    host: containerapp

注意

容器应用基础结构配置必须在从专用容器注册表拉取容器时配置凭据。

拉取、标记和推送到外部注册表

请考虑具有以下配置的 azure.yaml 文件:

# azure.yaml

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
services:
  nginx:
    image: nginx
    host: containerapp
    docker:
      registry: docker.io/<username>
      image: nginx
      tag: latest   

azd deploy 命令拉取配置的 nginx 镜像。 在这种情况下,它是 Docker Hub 上的公共镜像,因此 azd 重新标记容器/镜像并将其推送到 Docker 注册表。

在 azd 部署上将生成、标记和推送到外部注册表

请考虑具有以下配置的 azure.yaml 文件:

# azure.yaml

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
services:
  api:
    project: ./src/api
    host: containerapp
    docker:
      registry: docker.io/<username>
      image: todo-api

azd deploy 命令生成容器,对其进行标记,并将其推送到 docker 注册表。