Usar o suporte do Docker para implantar aplicativos em contêineres em qualquer idioma

A CLI do Desenvolvedor do Azure (azd) dá suporte ao Docker como um idioma, permitindo que você defina serviços criados e implantados usando um Dockerfile. Se o aplicativo for escrito em um idioma que azd não tiver suporte interno para — como Go, Rust, Ruby, PHP ou Kotlin — você poderá usar o Docker como o idioma para compilar e implantá-lo no Azure. Ao especificar o Docker como o idioma, você obtém controle total sobre o processo de contêinerização, tornando-o ideal para:

  • Go, Rust, Ruby, PHP, Kotlin e outras linguagens sem suporte interno azd
  • Aplicativos poliglotas (por exemplo, um serviço que usa Python e Node.js)
  • Cenários em que você deseja reduzir as dependências locais para executar o modelo
  • Cargas de trabalho com requisitos personalizados de sistema operacional ou runtime
  • Migrando projetos existentes baseados no Docker para o Azure

Por exemplo, se você tiver um aplicativo escrito no Go e quiser implantá-lo no Aplicativos de Contêiner do Azure com azd, poderá definir um Dockerfile para seu serviço Go e configurar azd para usá-lo.

Configurar o Docker como um idioma em azure.yaml

Para usar o Docker para um aplicativo Go, o aplicativo Rust ou qualquer outro serviço, defina a language propriedade docker como em seu azure.yaml arquivo e especifique o caminho para o Dockerfile:

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

Com essa configuração, azd usa o Dockerfile especificado para criar e implantar seu serviço. Essa abordagem funciona para qualquer idioma ou runtime que possa ser conteinerizado.

Cenário de exemplo

O hello-azd modelo inicial demonstra como usar o Docker como uma linguagem em combinação com builds remotos. azure.yaml No arquivo, o modelo define language: docker e especificaremoteBuild: true:

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

Essa configuração permite que os usuários executem o modelo e criem a imagem de contêiner no Registro de Contêiner do Azure, mesmo que não tenham o .NET ou o Docker instalado localmente. O processo de build é tratado inteiramente na nuvem, facilitando a introdução dos desenvolvedores sem configurar dependências locais ou ferramentas de build.

Aproveitando builds remotos, o hello-azd modelo garante uma experiência consistente e simplificada para todos os usuários, independentemente de seu ambiente local.

Próximas etapas