共用方式為


在雲端中建置容器化的 Python Web 應用程式

本文是如何將 Python Web 應用程式容器化和部署至Azure App 服務的教學課程的一部分。 App Service 可讓您執行容器化 Web 應用程式,並透過 Docker Hub、Azure Container Registry 和 Visual Studio Team Services 的持續整合/持續部署 (CI/CD) 功能進行部署。 在本教學課程的這個部分中,您將瞭解如何在雲端中建置容器化的 Python Web 應用程式。

在本教學課程的上 一個選擇性 部分中,容器映射是在本機建置並執行。 相反地,在本教學課程的這個部分中,您會直接在 Azure Container Registry 將 Python Web 應用程式建置至 Docker 映射。 在 Azure 中建置映射通常比在本機建置更快、更輕鬆,然後將映射推送至登錄。 此外,在雲端中建置不需要 Docker 在開發環境中執行。

Docker 映射在 Azure Container Registry 中之後,即可部署到 Azure App Service。

以下顯示的服務圖表會反白顯示本文所涵蓋的元件。

A screenshot of the services using in the Tutorial - Containerized Python App on Azure with the build-in-cloud path highlighted.

1.建立 Azure Container Registry

如果您已經有可使用的 Azure Container Registry,請移至下一個步驟。 如果沒有,請建立一個。

Azure CLI 命令可以在 Azure Cloud Shell 或已安裝 Azure CLI 的 工作站上執行 在 Cloud Shell 中執行時,請略過 步驟 3

步驟 1: 如有需要, 請使用 az group create 命令建立資源群組。 如果您已在第 2 部分中 設定適用于 MongoDB 的 Azure Cosmos DB 帳戶。在本教學課程本機 建置及測試容器,將RESOURCE_GROUP_NAME設定為您用於該帳戶的資源群組名稱,然後移至步驟 2。

RESOURCE_GROUP_NAME='msdocs-web-app-rg'
LOCATION='eastus'

az group create -n $RESOURCE_GROUP_NAME -l $LOCATION

LOCATION 應該是 Azure 位置值。 選擇與您接近的位置。 您可以使用下列命令列出 Azure 位置值: az account list-locations -o table

步驟 2。 使用 az acr create 命令建立容器登錄。

REGISTRY_NAME='<your Azure Container Registry name>'

az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku Basic

REGISTRY_NAME在 Azure 內必須是唯一的,且包含 5-50 個英數位元。

在命令的 JSON 輸出中,尋找 loginServer 值,這是完整的登錄名稱(全部小寫),且應該包含您指定的登錄名稱。

步驟 3。 如果您要在本機執行 Azure CLI,請使用 az acr login 命令登入登錄。

az acr login -n $REGISTRY_NAME

命令會將 「azurecr.io」 新增至名稱,以建立完整登錄名稱。 如果成功,您會看到「登入成功」訊息。

注意

az acr loginCloud Shell 中不需要或支援命令。

2.在 Azure Container Registry 中建置映射

您可以透過幾種方式直接在 Azure 中建置容器映射。 首先,您可以使用 Azure Cloud Shell 來建置映射,而不需使用本機環境。 您也可以使用 VS Code 或 Azure CLI,從本機環境建置 Azure 中的容器映射。 在雲端中建置映射不需要 Docker 在您的本機環境中執行。 如果您需要,您可以遵循複製或下載本教學課程第 2 部分中的範例應用程式 中的指示 ,以取得範例 Flask 或 Django Web 應用程式。

Azure CLI 命令可以在已安裝 Azure CLI 的工作站 上執行,或在 Azure Cloud Shell 執行。 在 Cloud Shell 中執行時,請略過 步驟 1

步驟 1: 如果您要在本機執行 Azure CLI,如果您尚未使用 az acr login 命令登入 登錄。

az acr login -n $REGISTRY_NAME

如果您要從與建立登錄所在的訂用帳戶不同的訂用帳戶存取登錄,請使用 --suffix 參數。

注意

az acr loginCloud Shell 中不需要或支援命令。

步驟 2。 使用 az acr build 命令建 置映射。

az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest .

在此命令中:

步驟 3。 使用 az acr repository list 命令確認容器映射已建立

az acr repository list -n $REGISTRY_NAME

後續步驟