教學課程:將容器應用程式部署至 Azure 容器執行個體
這是三部分系列的最後教學課程。 在系列稍早, 已建立 容器映射並 推送至 Azure Container Registry。 本文藉由將容器部署至 Azure 容器執行個體 來完成系列。
在本教學課程中,您已:
- 將容器從 Azure Container Registry 部署至 Azure 容器執行個體
- 在瀏覽器中檢視執行中的應用程式
- 顯示容器的記錄
開始之前
您必須滿足下列需求,才能完成本教學課程:
Azure CLI:您必須在本機計算機上安裝 Azure CLI 2.0.29 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI 模組。
Docker:本教學課程假設基本瞭解核心 Docker 概念,例如容器、容器映像和基本 docker
命令。 如需 Docker 和容器基本概念的入門,請參閱 Docker 概觀 \(英文\)。
Docker:若要完成本教學課程,您需要在本機安裝 Docker。 Docker 提供可在 macOS、Windows 和 Linux 上設定 Docker 環境的套件。
重要
因為 Azure Cloud Shell 不包含 Docker 精靈,因此您必須在本機電腦上安裝 Azure CLI 和 Docker 引擎,才能完成本教學課程。 您無法在本教學課程中使用 Azure Cloud Shell。
使用 Azure CLI 部署容器
在本節中,您會使用 Azure CLI 來部署第一個教學課程中建置的映像,並在第二個教學課程中推送至 Azure Container Registry。 請確定您已完成這些教學課程,再繼續進行。
取得登錄認證
當您部署裝載於私人 Azure 容器登錄中的映像,就像第二個教學課程中所建立的映像一樣,您必須提供認證來存取登錄。
許多案例的最佳做法是建立及設定具有登錄提取許可權的 Microsoft Entra 服務主體。 請參閱從 Azure 容器執行個體 向 Azure Container Registry 進行驗證,以取得範例腳本,以建立具有必要許可權的服務主體。 記下 服務主體標識碼 和服務 主體密碼。 當您部署容器時,您可以使用這些認證來存取登錄。
您也需要容器登入伺服器的完整名稱(將取代 <acrName>
為您的登入名稱):
az acr show --name <acrName> --query loginServer
部署容器
現在,使用 az container create 命令來部署容器。 將取代 <acrLoginServer>
為您從上一個命令取得的值。 將和 <service-principal-password>
取代<service-principal-ID>
為您建立以存取登錄的服務主體標識碼和密碼。 將取代 <aciDnsLabel>
為所需的 DNS 名稱。
az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80
在幾秒內,您應該會從 Azure 收到首次回應。 值 --dns-name-label
在您建立容器實例的 Azure 區域內必須是唯一的。 如果您在執行命令時收到 DNS 名稱標籤 錯誤訊息,請修改上述命令中的值。
確認部署進度
若要檢視部署的狀態,請使用 az container show:
az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state
重複 az container show 命令,直到狀態從 [擱置] 變更為 [執行中] 為止,這應該需要一分鐘的時間。 當容器為 [執行] 時,請繼續進行下一個步驟。
檢視應用程式和容器記錄
部署成功之後,請使用 az container show 命令顯示容器的完整域名 (FQDN):
az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn
例如:
"aci-demo.eastus.azurecontainer.io"
若要檢視執行中的應用程式,請瀏覽至您最愛瀏覽器中顯示的 DNS 名稱:
您也可以檢視容器的記錄輸出:
az container logs --resource-group myResourceGroup --name aci-tutorial-app
範例輸出:
listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
清除資源
如果您不再需要在本教學課程系列中建立的任何資源,您可以執行 az group delete 命令來移除資源群組及其包含的所有資源。 此命令會刪除您所建立的容器登錄,以及執行中的容器,以及所有相關資源。
az group delete --name myResourceGroup
下一步
在本教學課程中,您已完成將容器部署至 Azure 容器執行個體 的程式。 已完成下列步驟:
- 使用 Azure CLI 從 Azure Container Registry 部署容器
- 在瀏覽器中檢視應用程式
- 已檢視容器記錄
現在您已瞭解基本概念,請繼續深入瞭解 Azure 容器執行個體,例如容器群組的運作方式: