Uso de la compatibilidad con Docker para implementar aplicaciones en contenedores en cualquier lenguaje

La CLI para desarrolladores de Azure (azd) admite Docker como lenguaje, lo que le permite definir servicios que se compilan e implementan mediante un Dockerfile. Si la aplicación está escrita en un lenguaje que azd no tiene compatibilidad integrada con , como Go, Rust, Ruby, PHP o Kotlin, puede usar Docker como lenguaje para compilarlo e implementarlo en Azure. Al especificar Docker como lenguaje, obtendrá un control total sobre el proceso de contenedorización, lo que lo convierte en ideal para:

  • Go, Rust, Ruby, PHP, Kotlin y otros lenguajes sin compatibilidad integrada azd
  • Aplicaciones políglotas (por ejemplo, un servicio que usa tanto Python como Node.js)
  • Escenarios en los que desea reducir las dependencias locales para ejecutar la plantilla
  • Cargas de trabajo con requisitos de sistema operativo o tiempo de ejecución personalizados
  • Migración de proyectos basados en Docker existentes a Azure

Por ejemplo, si tiene una aplicación escrita en Go y quiere implementarla en Azure Container Apps con azd, puede definir un Dockerfile para el servicio Go y configurar azd para usarlo.

Configuración de Docker como lenguaje en azure.yaml

Para usar Docker para una aplicación go, una aplicación de Rust o cualquier otro servicio, establezca la language propiedad docker en en el azure.yaml archivo y especifique la ruta de acceso al Dockerfile:

services:
  myservice:
    project: ./src/myservice
    language: docker
    docker:
      path: ./Dockerfile

Con esta configuración, azd usa el Dockerfile especificado para compilar e implementar el servicio. Este enfoque funciona para cualquier lenguaje o entorno de ejecución que se pueda incluir en contenedores.

Escenario de ejemplo

La hello-azd plantilla de inicio muestra cómo usar Docker como lenguaje en combinación con compilaciones remotas. En el azure.yaml archivo, la plantilla establece language: docker y especifica remoteBuild: true:

metadata:
  template: hello-azd-dotnet
name: azd-starter
services:
  web:
    project: ./src
    language: docker
    host: containerapp
    docker:
      path: ./Dockerfile
      remoteBuild: true

Esta configuración permite a los usuarios ejecutar la plantilla y compilar la imagen de contenedor en Azure Container Registry, incluso si no tienen instalado .NET o Docker localmente. El proceso de compilación se controla completamente en la nube, lo que facilita a los desarrolladores empezar a trabajar sin configurar dependencias locales ni herramientas de compilación.

Al aprovechar las compilaciones remotas, la hello-azd plantilla garantiza una experiencia coherente y simplificada para todos los usuarios, independientemente de su entorno local.

Pasos siguientes