共用方式為


快速入門:使用命令列部署現有的容器映像

Azure 容器應用程式服務讓您在無伺服器平台上執行微服務和容器化應用程式。 使用容器應用程式,您會享受執行容器的優點,同時無須顧慮手動設定雲端基礎結構設定和複雜容器協調器的問題。

本文示範如何將現有的容器部署至 Azure 容器應用程式。

注意

透過登錄使用者名稱和密碼可支援私人登錄授權。

必要條件

設定

若要從 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.AppMicrosoft.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 上了解該問題。

下一步