快速入門:使用命令列部署現有的容器映像
Azure 容器應用程式服務讓您在無伺服器平台上執行微服務和容器化應用程式。 使用容器應用程式,您會享受執行容器的優點,同時無須顧慮手動設定雲端基礎結構設定和複雜容器協調器的問題。
本文示範如何將現有的容器部署至 Azure 容器應用程式。
注意
透過登錄使用者名稱和密碼可支援私人登錄授權。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。
- 如果您沒有,可以免費建立一個。
- 安裝 Azure CLI。
- 存取公用或私人容器登錄,例如 Azure Container Registry。
設定
若要從 CLI 登入 Azure,請執行下列命令,並遵循提示來完成驗證流程。
az login
若要確保您執行最新版的 CLI,請執行升級命令。
az upgrade
接下來,安裝或更新 CLI 的 Azure 容器應用程式延伸模組。
如果您在 Azure CLI 中執行 az containerapp
命令或 Azure PowerShell 模組中的 Cmdlet Az.App
時收到遺漏參數的錯誤,請確定您已安裝最新版的 Azure Container Apps 擴充功能。
az extension add --name containerapp --upgrade
注意
從 2024 年 5 月開始,Azure CLI 延伸模組預設不會再啟用預覽功能。 若要存取 Container Apps 預覽功能,請使用 安裝 Container Apps 擴充功能--allow-preview true
。
az extension add --name containerapp --upgrade --allow-preview true
現在已安裝目前的擴充功能或模組,請註冊 Microsoft.App
和 Microsoft.OperationalInsights
命名空間。
注意
Azure 容器應用程式資源已從 Microsoft.Web
命名空間移轉至 Microsoft.App
命名空間。 如需詳細資訊,請參閱 2022 年 3 月將命名空間從 Microsoft.Web 移轉至 Microsoft.App。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
設定環境變數
設定下列環境變數。 將 <PLACEHOLDERS> 取代為您的值:
RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"
建立 Azure 資源群組
建立資源群組,以組織與容器應用程式部署相關的服務。
az group create \
--name $RESOURCE_GROUP \
--location "$LOCATION"
建立環境
Azure 容器應用程式中的環境會在容器應用程式群組周圍建立安全界限。 部署至相同環境的容器應用程式會部署在相同的虛擬網路中,並將記錄寫入相同的 Log Analytics 工作區。
若要建立環境,請執行下列命令:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
建立容器應用程式
現在您已建立環境,您可以部署第一個容器應用程式。 使用 containerapp create
命令,將容器映射部署至 Azure 容器應用程式。
本文所示的範例示範如何使用自訂容器映射搭配一般命令。 您的容器映射可能需要下列項目的更多參數:
- 設定修訂模式
- 定義秘密
- 定義環境變數
- 設定容器 CPU 或記憶體需求
- 啟用及設定 Dapr
- 啟用外部或內部輸入
- 提供最小和最大複本值或縮放規則
如需如何針對這些參數任一項提供值給 create
命令的詳細資料,請執行 az containerapp create --help
或造訪線上參考。 若要產生 Azure Container Registry 的認證,請使用 az acr credential show。
CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>
(將 <placeholders> 取代為您的值。)
az containerapp create \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--image $CONTAINER_IMAGE_NAME \
--environment $CONTAINERAPPS_ENVIRONMENT \
--registry-server $REGISTRY_SERVER \
--registry-username $REGISTRY_USERNAME \
--registry-password $REGISTRY_PASSWORD
az containerapp create \
--image <REGISTRY_CONTAINER_NAME> \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT
If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.
執行此命令之前,請將 <REGISTRY_CONTAINER_NAME>
取代為公用容器登錄位置的完整名稱,包括登錄路徑和標籤。 例如,有效的容器名稱是 mcr.microsoft.com/k8se/quickstart:latest
。
驗證部署
若要確認部署成功,您可以查詢 Log Analytics 工作區。 在您可查詢記錄前,您初次可能必須在部署後等候數分鐘讓分析抵達。 這取決於容器應用程式中實作的控制台記錄。
使用下列命令來檢視控制台記錄訊息。
LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`
az monitor log-analytics query \
--workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
--analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
--out table
清除資源
如果您不打算繼續使用此應用程式,請執行下列命令來刪除資源群組,以及本快速入門中建立的所有資源。
警告
下列命令會刪除指定的資源群組和其中包含的所有資源。 如果本快速入門範圍以外的資源存在於指定的資源群組中,則也會一併刪除。
az group delete --name $RESOURCE_GROUP
提示
有問題嗎? 在 Azure 容器應用程式存放庫中提出問題,讓我們在 GitHub 上了解該問題。
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應