Použití podpory Dockeru k nasazení kontejnerizovaných aplikací v libovolném jazyce

Azure Developer CLI (azd) podporuje Docker jako jazyk, který umožňuje definovat služby vytvořené a nasazené pomocí souboru Dockerfile. Pokud je vaše aplikace napsaná v jazyce, který azd nemá integrovanou podporu – například Go, Rust, Ruby, PHP nebo Kotlin – můžete jako jazyk použít Docker k sestavení a nasazení do Azure. Zadáním Dockeru jako jazyka získáte úplnou kontrolu nad procesem kontejnerizace, aby byl ideální pro:

  • Go, Rust, Ruby, PHP, Kotlin a další jazyky bez integrované azd podpory
  • Polyglotové aplikace (například služba, která používá Python i Node.js)
  • Scénáře, ve kterých chcete omezit místní závislosti pro spuštění šablony
  • Úlohy s vlastními požadavky na operační systém nebo modul runtime
  • Migrace stávajících projektů založených na Dockeru do Azure

Pokud máte například aplikaci napsanou v go a chcete ji nasadit do Azure Container Apps s azd, můžete definovat soubor Dockerfile pro službu Go a nakonfigurovat azd, aby ji mohl používat.

Konfigurace Dockeru jako jazyka v azure.yaml

Pokud chcete použít Docker pro aplikaci Go, aplikaci Rust nebo jakoukoli jinou službu, nastavte language vlastnost do docker souboru azure.yaml a zadejte cestu k souboru Dockerfile:

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

V této konfiguraci azd se k sestavení a nasazení služby používá zadaný soubor Dockerfile. Tento přístup funguje pro libovolný jazyk nebo modul runtime, který je možné kontejnerizovat.

Ukázkový scénář

Úvodní hello-azd šablona ukazuje, jak používat Docker jako jazyk v kombinaci se vzdálenými sestaveními. azure.yaml V souboru se šablony nastaví language: docker a určíremoteBuild: true:

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

Tato konfigurace umožňuje uživatelům spustit šablonu a sestavit image kontejneru ve službě Azure Container Registry, i když nemají místně nainstalované rozhraní .NET nebo Docker. Proces sestavení se zpracovává zcela v cloudu, což vývojářům usnadňuje zahájení práce bez nastavení místních závislostí nebo nástrojů sestavení.

Díky využití vzdálených hello-azd sestavení šablona zajišťuje konzistentní a zjednodušené prostředí pro všechny uživatele bez ohledu na jejich místní prostředí.

Další kroky