教學課程:使用 Azure CLI 部署具有 Azure 容器執行個體的現成容器 (預覽)
現成容器結合了 ACI 的簡易性與現成 VM 的低成本,讓客戶能夠輕鬆且負擔得起大規模執行容器化中斷工作負載。 使用 Azure 容器執行個體來執行無伺服器現成容器。 當您想要以低成本方式在未使用的 Azure 容量上執行可中斷的容器化工作負載,且您不需要完整的容器協調流程平台 (例如 Azure Kubernetes Service),請將應用程式部署至隨選容器。
在本快速入門中,您會使用 Azure CLI,利用現成容器部署 helloworld 容器。 執行單一部署命令的幾秒之後,您可以瀏覽至容器記錄:
- 本快速入門需要 2xxx 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
建立資源群組
Azure 容器執行個體和所有 Azure 資源相同,都必須部署到資源群組中。 資源群組可讓您組織和管理相關的 Azure 資源。
首先,使用下列 az group create 命令,在 westus 位置中建立一個名為 myResourceGroup 的資源群組:
az group create --name myResourceGroup --location westus
建立容器
有了資源群組之後,現在您可以在 Azure 中執行現成容器。 若要使用 Azure CLI 建立 Spot 容器群組,請將名為 'priority' 的資源組名、容器實例名稱、容器映射和名為 'priority' 的新屬性提供給 az container create 命令。 在此快速入門中,您可以使用公用 mcr.microsoft.com/azuredocs/aci-helloworld
映像。 此映像會封裝以 Node.js 撰寫並提供靜態 HTML 網頁的小型 Web 應用程式。
您可以指定一或多個要開啟的連接埠和 (或) DNS 名稱標籤,以將您的現成容器公開至網際網路。 在本快速入門中,您會使用沒有 DNS 名稱標籤的 helloworld 映像來部署容器。 它無法公開接觸。 您可以查詢容器記錄,以確認容器正在預設連接埠 80 上進行接聽。
執行和下列類似的命令,以啟動容器執行個體。
az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot
您應該會在幾秒內獲得 Azure CLI 的回應,指出部署已完成。 請使用 az container show 命令來檢查其狀態:
az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table
當您執行命令時,就會顯示容器的完整網域名稱 (FQDN) 及其佈建狀態。
ContainerGroupName ProvisioningState
--------------------------------- -------------------
acispotclitest Succeeded
如果容器的 ProvisioningState
為 [成功],恭喜! 您已將 Docker 容器中執行的應用程式成功部署至 Azure。
提取容器記錄
如果您要對容器或其執行的應用程式進行疑難排解 (或只是要檢視其輸出),請先檢視容器執行個體的記錄。
使用 az container logs 命令提取容器執行個體記錄:
az container logs --resource-group acispotdemo --name acispotclitest
輸出會顯示容器的記錄,而且應該會顯示下列輸出
listening on port 80
附加輸出資料流
除了檢視記錄外,您還可以將您的本機標準輸出和標準錯誤資料流附加至容器的這些項目。
首先,請執行 az container attach 命令,將本機主控台附加至容器的輸出資料流:
az container attach --resource-group acispotdemo --name acispotclitest
在附加之後,重新整理瀏覽器幾次以產生更多輸出。 作業完成後,請使用 Control+C
將主控台中斷連結。 您應該會看到類似下列範例的結果:
Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80
清除資源
當容器使用完畢後,請使用 az container delete 命令來移除容器:
az container delete --resource-group acispotdemo --name acispotclitest
若要確認容器已刪除,請執行 az container list 命令:
az container list --resource-group acispotdemo --output table
acispotclitest 容器不應該出現在命令的輸出中。 如果您的資源群組中沒有任何其他容器,則不會顯示任何輸出。
當您使用完 acispotdemo 資源群組和其中包含的所有資源後,請使用 az group delete 命令加以刪除:
az group delete --name acispotdemo
下一步
在本教學課程中,您已使用 Azure CLI 在具有預設配額和收回原則的 Azure 容器執行個體上建立現成容器。