Share via


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

Azure Container Apps 服務可讓您在無伺服器平台上執行微服務和容器化應用程式。 使用 Container Apps 時,您會享受執行容器的優點,同時留下手動雲端基礎結構設定和複雜容器協調器的擔憂。

本文示範如何將現有的容器部署至 Azure Container Apps。

注意

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

必要條件

設定

若要從 CLI 登入 Azure,請執行下列命令,並遵循提示來完成驗證程序。

az login

若要確保您執行最新版的 CLI,請執行升級命令。

az upgrade

接下來,安裝或更新 CLI 的 Azure Container Apps 擴充功能。

az extension add --name containerapp --upgrade

現在已安裝目前的擴充功能或模組,請註冊 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 Container Apps。

本文所示的範例示範如何使用自定義容器映像搭配一般命令。 您的容器映像可能需要下列專案更多的參數:

  • 設定修訂模式
  • 定義秘密
  • 定義環境變數
  • 設定容器 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>

(以 <您的值取代佔位元元> 。

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 上了解該問題。

下一步