使用工作建置和管理容器
Azure Container Registry (ACR) 工作是一套功能,可:
- 為 Linux、Windows 和進階精簡指令集運算機器 (Arm) 等平台提供雲端式容器映像建置。
- 使用隨選容器映像組建,將應用程式開發週期的早期部分延伸至雲端。
- 啟用由原始程式碼更新、容器基底映像更新或計時器所觸發的自動化組建。
工作案例
ACR 工作支援多種用於建置和維護容器映像及其他組件成品的案例。
快速工作 - 在 Azure 中隨需建置單一容器映像並將其推送至容器登錄,而不需要安裝本機 Docker 引擎。 思考雲端中的
docker build
、docker push
。自動觸發的工作 - 啟用一或多個觸發程序來建置映像:
- 原始程式碼更新時觸發程序
- 基底映像更新上的觸發程序
- 依排程觸發
多步驟工作可 - 藉由多步驟、多容器型工作流程,延伸 ACR 工作的單一映像建置和推送功能。
每個 ACR 工作都有相關聯的原始程式碼內容 - 用於建置容器映像或其他組建成品的一系列來源檔案位置。 範例內容包括 Git 存放庫或本機檔案系統。
快速工作
「內部迴圈」開發週期是在認可原始檔控制之前撰寫程式代碼、建置和測試應用程式的反覆程式。 這確實是容器生命週期管理的開始。
「ACR 工作」的快速工作功能可在您認可第一行程式碼之前,藉由將您的容器映像建置卸交給 Azure,提供一個整合式開發體驗。 透過快速工作,您可以在認可程式碼之前,驗證自動化組建定義並攔截潛在問題。
Azure CLI 中的 docker build
az acr build 命令會使用熟悉的 格式來取得內容 (要建置的一組檔案)、將它傳送給 ACR 工作,然後依預設在完成時將所建置的映像推送至其登錄。
在原始程式碼更新時觸發工作
當程式碼獲得認可時,或是對 GitHub 或 Azure DevOps Services 中的 Git 存放庫提出或更新提取要求時,觸發容器映像建置或多步驟工作。 例如,使用 Azure CLI 命令 az acr task create
設定建置工作,方法是指定 Git 存放庫,並選擇性地指定分支和 Dockerfile。 當您的小組更新存放庫中的程式碼時,ACR 工作建立的 Webhook 就會觸發存放庫中所定義容器映像的建置。
基底映像更新上的觸發程序
您可以設定 ACR 工作,在建置應用程式映像時追蹤基底映像的相依性。 當更新的基底映像推送至登錄時,或是 Docker Hub 等公用存放庫中的基底映像有所更新時,ACR 工作可以自動根據基底映像建置任何應用程式映像。
排定工作
當您建立或更新工作時,可選擇設定一或多個計時器觸發程序來排程工作。 排程工作適用於在已定義的排程上執行容器工作負載,或是在定期推送至登錄的映像上執行維護作業或測試。
多步驟工作
YAML 檔案中定義的多步驟工作會指定容器映像或其他組件成品的個別建置和推送作業。 這些工作也可以定義一或多個容器的執行,每個步驟都會使用容器作為其執行環境。 例如,您可以建立多步驟工作來自動化下列作業:
- 建置 Web 應用程式映像
- 執行 Web 應用程式容器
- 建置 Web 應用程式測試映像
- 執行 Web 應用程式測試容器,針對執行中應用程式容器執行測試
- 如果測試通過,請建置 Helm 圖表封存套件
- 使用新的 Helm 圖表封存套件來執行
helm upgrade
映像平台
根據預設,ACR 工作會建置 Linux OS 和 amd64 架構的映像。 指定 --platform
標記,以建置適用於其他架構的 Windows 映像或 Linux 映像。 以 OS/架構格式指定 OS,並選擇性指定支援的架構 (例如,--platform Linux/arm
)。 針對 ARM 架構,選擇性地指定 OS/架構/變體格式的變體 (例如,--platform Linux/arm64/v8
):
OS | 架構 |
---|---|
Linux | AMD64 Arm Arm64 386 |
Windows | AMD64 |