Docker 지원을 사용하여 모든 언어로 컨테이너화된 앱 배포

Azure 개발자 CLI(azd)는 Docker를 언어로 지원하므로 Dockerfile을 사용하여 빌드 및 배포되는 서비스를 정의할 수 있습니다. 앱이 go, Rust, Ruby, PHP 또는 Kotlin과 같이 azd 기본적으로 지원되지 않는 언어로 작성된 경우 Docker를 언어로 사용하여 빌드하고 배포하여 Azure 수 있습니다. Docker를 언어로 지정하면 컨테이너화 프로세스를 완전히 제어할 수 있으므로 다음 작업에 적합합니다.

  • 기본 제공 azd 지원 없이 Go, Rust, Ruby, PHP, Kotlin 및 기타 언어
  • Polyglot 애플리케이션(예: Python 및 Node.js모두 사용하는 서비스)
  • 템플릿을 실행하기 위해 로컬 종속성을 줄이려는 시나리오
  • 사용자 지정 OS 또는 런타임 요구 사항이 있는 워크로드
  • 기존 Docker 기반 프로젝트를 Azure로 마이그레이션

예를 들어 Go로 작성된 앱이 있고 azd 사용하여 Azure Container Apps 배포하려는 경우 Go 서비스에 대한 Dockerfile을 정의하고 사용하도록 azd 구성할 수 있습니다.

azure.yaml에서 Docker를 언어로 구성

Go 앱, Rust 앱 또는 기타 서비스에 Docker를 사용하려면 파일에 속성을 dockerazure.yaml 설정하고 language Dockerfile의 경로를 지정합니다.

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

이 구성에서는 azd 지정된 Dockerfile을 사용하여 서비스를 빌드하고 배포합니다. 이 방법은 컨테이너화할 수 있는 모든 언어 또는 런타임에 대해 작동합니다.

예제 시나리오

시작 템플릿은 hello-azd 원격 빌드와 함께 Docker를 언어로 사용하는 방법을 보여 줍니다. 파일에서 azure.yaml 템플릿은 다음을 설정하고 language: docker 지정합니다.remoteBuild: true

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

이 구성을 사용하면 .NET 또는 Docker가 로컬로 설치되어 있지 않더라도 템플릿을 실행하고 Azure Container Registry에서 컨테이너 이미지를 빌드할 수 있습니다. 빌드 프로세스는 완전히 클라우드에서 처리되므로 개발자가 로컬 종속성을 설정하거나 도구를 빌드하지 않고도 쉽게 시작할 수 있습니다.

템플릿은 원격 빌드를 hello-azd 활용하여 로컬 환경에 관계없이 모든 사용자에게 일관되고 간소화된 환경을 보장합니다.

다음 단계