快速入門:使用命令行部署現有的容器映像
Azure Container Apps 服務可讓您在無伺服器平台上執行微服務和容器化應用程式。 使用 Container Apps 時,您會享受執行容器的優點,同時留下手動雲端基礎結構設定和複雜容器協調器的擔憂。
本文示範如何將現有的容器部署至 Azure Container Apps。
注意
透過登錄使用者名稱和密碼支援私人登錄授權。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。
- 如果您沒有,可以免費建立一個。
- 安裝 Azure CLI。
- 存取公用或私人容器登錄,例如 Azure Container Registry。
設定
若要從 CLI 登入 Azure,請執行下列命令,並遵循提示來完成驗證程序。
az login
若要確保您執行最新版的 CLI,請執行升級命令。
az upgrade
接下來,安裝或更新 CLI 的 Azure Container Apps 擴充功能。
az extension add --name containerapp --upgrade
現在已安裝目前的擴充功能或模組,請註冊 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 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 上了解該問題。