Use o suporte Docker para implementar aplicações containerizadas em qualquer língua

A CLI do Desenvolvedor do Azure (azd) dá suporte ao Docker como uma linguagem, permitindo que você defina serviços que são criados e implantados usando um Dockerfile. Se a sua aplicação for escrita numa linguagem que azd não tem suporte incorporado — como Go, Rust, Ruby, PHP ou Kotlin — pode usar o Docker como linguagem para construir e implementar para Azure. Ao especificar o Docker como o idioma, você ganha controle total sobre o processo de conteinerização, tornando-o ideal para:

  • Go, Rust, Ruby, PHP, Kotlin e outras linguagens sem suporte incorporado azd
  • Aplicações poliglotas (por exemplo, um serviço que utiliza tanto Python como Node.js)
  • Cenários em que você deseja reduzir as dependências locais para executar o modelo
  • Cargas de trabalho com requisitos personalizados de SO ou tempo de execução
  • Migrando projetos existentes baseados no Docker para o Azure

Por exemplo, se tiveres uma aplicação escrita em Go e quiseres implementá-la para Azure Container Apps com azd, podes definir um Dockerfile para o teu serviço Go e configurar azd para o usar.

Configurar o Docker como uma linguagem no azure.yaml

Para usar o Docker numa aplicação Go, Rust ou qualquer outro serviço, defina a language propriedade no docker seu azure.yaml ficheiro e especifique o caminho para o seu Dockerfile:

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

Com esta configuração, azd utiliza o Dockerfile especificado para construir e implementar o seu serviço. Esta abordagem funciona para qualquer linguagem ou runtime que possa ser containerizado.

Cenário de exemplo

O hello-azd modelo inicial demonstra como usar o Docker como uma linguagem em combinação com compilações remotas. 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 compilação é tratado inteiramente na nuvem, tornando mais fácil para os desenvolvedores começarem sem configurar dependências locais ou ferramentas de compilação.

Ao aproveitar compilações remotas, o hello-azd modelo garante uma experiência consistente e simplificada para todos os usuários, independentemente do ambiente local.

Próximos passos