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 可確保所有使用者無論其本機環境為何,都能獲得一致且簡化的體驗。