Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Developer CLI (azd) admite registros de contenedor externos de terceros para la implementación. Para usar esta función, necesita autenticarse manualmente en el registro externo de contenedores antes de ejecutar azd deploy.
La autenticación basada en Docker solo es necesaria cuando azd administra las operaciones de imagen automáticamente, como extraer, compilar, etiquetar o insertar imágenes. Si un servicio está configurado con services.<name>.docker.imagePassthrough: true, azd reutiliza la imagen remota configurada as-is. En ese caso, azd no requiere Docker ni Podman y no realiza ninguna autenticación en el registro ni ningún paso del ciclo de vida de la imagen para ese servicio.
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.
Descargar desde un registro de contenedores 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.
Para implementar una imagen remota sin necesidad de Docker o Podman, establezca services.<name>.docker.imagePassthrough: true y proporcione la imagen completa, incluido el registro, en services.<name>.image:
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
docker:
imagePassthrough: true
imagePassthrough tiene las restricciones siguientes:
- Requiere que se establezca
services.<name>.image. - No se puede combinar con
docker.remoteBuild. - No admite los indicadores
--from-packagede anulación de imagen,azd publishy--to, para ese servicio.
Descargar, etiquetar y subir a 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.
Compilar, etiquetar y publicar en un registro externo con azd deploy
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.