Używanie obsługi platformy Docker do wdrażania konteneryzowanych aplikacji w dowolnym języku

Interfejs wiersza polecenia dla deweloperów platformy Azure (azd) obsługuje platformę Docker jako język, umożliwiając definiowanie usług, które są kompilowane i wdrażane przy użyciu pliku Dockerfile. Jeśli aplikacja jest napisana w języku, który azd nie ma wbudowanej obsługi — takiej jak Go, Rust, Ruby, PHP lub Kotlin — możesz użyć platformy Docker jako języka do kompilowania i wdrażania go w Azure. Określając platformę Docker jako język, zyskujesz pełną kontrolę nad procesem konteneryzacji, co czyni go idealnym rozwiązaniem:

  • Go, Rust, Ruby, PHP, Kotlin i inne języki bez wbudowanej azd obsługi
  • Aplikacje wielolotowe (na przykład usługa używająca zarówno Python, jak i Node.js)
  • Scenariusze, w których chcesz zmniejszyć zależności lokalne do uruchomienia szablonu
  • Obciążenia z niestandardowymi wymaganiami systemu operacyjnego lub środowiska uruchomieniowego
  • Migrowanie istniejących projektów opartych na platformie Docker na platformę Azure

Jeśli na przykład masz aplikację napisaną w języku Go i chcesz ją wdrożyć w Azure Container Apps za pomocą azd, możesz zdefiniować plik Dockerfile dla usługi Go i skonfigurować azd do użycia.

Konfigurowanie platformy Docker jako języka w pliku azure.yaml

Aby użyć platformy Docker dla aplikacji Języka Go, aplikacji Rust lub dowolnej innej usługi, ustaw language właściwość na docker wartość w azure.yaml pliku i określ ścieżkę do pliku Dockerfile:

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

W przypadku tej konfiguracji azd użyje określonego pliku Dockerfile do skompilowania i wdrożenia usługi. Takie podejście działa w przypadku dowolnego języka lub środowiska uruchomieniowego, które można konteneryzować.

Przykładowy scenariusz

Szablon hello-azd startowy pokazuje, jak używać platformy Docker jako języka w połączeniu z kompilacjami zdalnymi. azure.yaml W pliku szablon ustawia language: docker i określa :remoteBuild: true

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

Ta konfiguracja umożliwia użytkownikom uruchamianie szablonu i kompilowanie obrazu kontenera w usłudze Azure Container Registry, nawet jeśli nie mają zainstalowanego lokalnie platformy .NET ani platformy Docker. Proces kompilacji jest obsługiwany w całości w chmurze, co ułatwia deweloperom rozpoczęcie pracy bez konfigurowania lokalnych zależności lub narzędzi kompilacji.

Dzięki wykorzystaniu kompilacji zdalnych hello-azd szablon zapewnia spójne i usprawnione środowisko dla wszystkich użytkowników, niezależnie od środowiska lokalnego.

Dalsze kroki