使用 Docker 支援部署容器化應用程式,使用任何語言

Azure 開發人員 CLI (azd) 支援 Docker 作為語言,讓您定義使用 Dockerfile 建置和部署的服務。 如果你的應用程式是用 azd 沒有內建支援的語言撰寫的——例如 Go、Rust、Ruby、PHP 或 Kotlin——你可以用 Docker 作為語言來編譯並部署到Azure。 藉由將 Docker 指定為語言,您可以完全控制容器化程式,使其適合:

  • Go、Rust、Ruby、PHP、Kotlin 以及其他沒有內建azd支援的語言
  • 多語應用程式(例如,同時使用Python與 Node.js的服務)
  • 您想要減少本機相依性以執行範本的案例
  • 具有自定義 OS 或運行時間需求的工作負載
  • 將現有的 Docker 型專案遷移至 Azure

舉例來說,如果你有一個用 Go 寫的應用程式,想用 azd 部署到 Azure 容器應用程式,你可以為你的 Go 服務定義一個 Dockerfile,並設定 azd 來使用它。

Configure Docker as a language in azure.yaml

要使用 Docker for Go、Rust 或其他服務,請在你的azure.yaml檔案中設定language屬性為 ,docker並指定 Docker 檔案的路徑:

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

此設定可讓使用者執行範本,並在 Azure Container Registry 中建置容器映射,即使它們未在本機安裝 .NET 或 Docker 也一樣。 建置程式會完全在雲端中處理,讓開發人員輕鬆開始使用,而不需要設定本機相依性或建置工具。

藉由利用遠端組建,範本 hello-azd 可確保所有使用者無論其本機環境為何,都能獲得一致且簡化的體驗。

後續步驟