Använda Docker-stöd för att distribuera containerbaserade appar på valfritt språk

Azure Developer CLI (azd) stöder Docker som ett språk, så att du kan definiera tjänster som skapas och distribueras med hjälp av en Dockerfile. Om din app är skriven på ett språk som azd inte har inbyggt stöd för – till exempel Go, Rust, Ruby, PHP eller Kotlin – kan du använda Docker som språk för att skapa och distribuera den till Azure. Genom att ange Docker som språk får du fullständig kontroll över containeriseringsprocessen, vilket gör den idealisk för:

  • Go, Rust, Ruby, PHP, Kotlin och andra språk utan inbyggt azd stöd
  • Flerspråkiga program (till exempel en tjänst som använder både Python och Node.js)
  • Scenarier där du vill minska lokala beroenden för att köra mallen
  • Arbetsbelastningar med anpassade operativsystem eller körningskrav
  • Migrera befintliga Docker-baserade projekt till Azure

Om du till exempel har en app skriven i Go och vill distribuera den till Azure Container Apps med azd kan du definiera en Dockerfile för Go-tjänsten och konfigurera azd att använda den.

Konfigurera Docker som ett språk i azure.yaml

Om du vill använda Docker för en Go-app, Rust-app eller någon annan tjänst anger du language egenskapen till docker i azure.yaml filen och anger sökvägen till din Dockerfile:

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

Med den här konfigurationen azd använder du den angivna Dockerfile för att skapa och distribuera din tjänst. Den här metoden fungerar för alla språk eller körningar som kan containeriseras.

Exempelscenario

Startmallen hello-azd visar hur du använder Docker som språk i kombination med fjärrversioner. azure.yaml I filen anger language: docker mallen och anger remoteBuild: true:

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

Med den här konfigurationen kan användare köra mallen och skapa containeravbildningen i Azure Container Registry, även om de inte har .NET eller Docker installerat lokalt. Byggprocessen hanteras helt i molnet, vilket gör det enkelt för utvecklare att komma igång utan att konfigurera lokala beroenden eller byggverktyg.

Genom att använda fjärrversioner säkerställer mallen hello-azd en konsekvent och strömlinjeformad upplevelse för alla användare, oavsett deras lokala miljö.

Nästa steg