Compartir a través de


Uso de registros de contenedor de terceros

Azure Developer CLI (azd) admite registros de contenedor externos de terceros para la implementación. Para usar esta característica, debe autenticarse manualmente en el registro de contenedor externo antes de llamar a la implementación de azd.

Autenticación

Ejecute docker login y autentíquese en el registro de contenedor externo. Es posible que tenga que seguir más pasos de instalación o configuración para su proveedor de registro específico.

docker login <your-registry>

Escenarios de ejemplo

Puede configurar azd para insertar y extraer imágenes de un registro de contenedor externo en el archivo azure.yaml de la plantilla. La compatibilidad con más registros de contenedor proporciona mayor flexibilidad para los flujos de trabajo de implementación.

Extracción de un registro de contenedor externo

En este ejemplo, durante la implementación de azd, el contenedor se extrae de docker.io/username/nginx:latest y se hace referencia a él directamente en el servicio de aplicaciones de contenedor.

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

Nota:

La configuración de infraestructura de la aplicación de contenedor debe configurar las credenciales al extraer contenedores de registros de contenedor privados.

Extracción, etiquetado e inserción en un registro externo

Considere un archivo azure.yaml con la siguiente configuración:

# 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   

El azd deploy comando extrae la imagen nginx configurada. En este caso, se trata de una imagen pública en docker Hub, por lo que azd vuelve a etiquetar el contenedor o la imagen e lo inserta en el registro de Docker.

Compilación, etiquetado e inserción en el registro externo en la implementación de azd

Considere un archivo azure.yaml con la siguiente configuración:

# 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

El azd deploy comando compila el contenedor, lo etiqueta e inserta en el registro de Docker.