Sdílet prostřednictvím


Vytvoření kontejnerizované webové aplikace v Pythonu v cloudu

Tento článek je součástí kurzu o kontejnerizaci a nasazení webové aplikace v Pythonu do služby Aplikace Azure Service. App Service umožňuje spouštět kontejnerizované webové aplikace a nasazovat prostřednictvím funkcí kontinuální integrace a průběžného nasazování (CI/CD) pomocí Docker Hubu, Azure Container Registry a Visual Studio Team Services. V této části kurzu se dozvíte, jak sestavit kontejnerizovanou webovou aplikaci v Pythonu v cloudu.

V předchozí volitelné části tohoto kurzu se image kontejneru sestavila a spustila místně. Naproti tomu v této části kurzu sestavíte (kontejnerizuje) webovou aplikaci v Pythonu do image Dockeru přímo ve službě Azure Container Registry. Sestavení image v Azure je obvykle rychlejší a jednodušší než sestavení místně a následné nasdílením image do registru. Sestavování v cloudu také nevyžaduje, aby byl Docker spuštěný ve vašem vývojovém prostředí.

Jakmile je image Dockeru ve službě Azure Container Registry, můžete ji nasadit do služby Aplikace Azure.

Následující diagram služby zvýrazňuje součásti popsané v tomto článku.

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

1. Vytvoření služby Azure Container Registry

Pokud už máte Službu Azure Container Registry, kterou můžete použít, přejděte k dalšímu kroku. Pokud ne, vytvořte ho.

Příkazy Azure CLI je možné spouštět v Azure Cloud Shellu nebo na pracovní stanici s nainstalovaným Azure CLI. Při spuštění v Cloud Shellu přeskočte krok 3.

Krok 1. V případě potřeby vytvořte skupinu prostředků pomocí příkazu az group create . Pokud jste už nastavili účet Služby Azure Cosmos DB pro MongoDB v části 2. Vytvořte a otestujte kontejner místně v tomto kurzu, nastavte RESOURCE_GROUP_NAME na název skupiny prostředků, kterou jste pro tento účet použili, a přejděte ke kroku 2.

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

az group create -n $RESOURCE_GROUP_NAME -l $LOCATION

UMÍSTĚNÍ by mělo být hodnota umístění Azure. Zvolte umístění blízko vás. Hodnoty umístění Azure můžete vypsat pomocí následujícího příkazu: az account list-locations -o table.

Krok 2. Vytvořte registr kontejneru pomocí příkazu az acr create .

REGISTRY_NAME='<your Azure Container Registry name>'

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

REGISTRY_NAME musí být v rámci Azure jedinečné a musí obsahovat 5–50 alfanumerických znaků.

Ve výstupu JSON příkazu vyhledejte loginServer hodnotu, což je plně kvalifikovaný název registru (všechna malá písmena) a který by měl obsahovat zadaný název registru.

Krok 3. Pokud používáte Azure CLI místně, přihlaste se k registru pomocí příkazu az acr login .

az acr login -n $REGISTRY_NAME

Příkaz přidá do názvu "azurecr.io", aby se vytvořil plně kvalifikovaný název registru. V případě úspěchu se zobrazí zpráva Přihlášení bylo úspěšné.

Poznámka:

Příkaz az acr login není v Cloud Shellu potřeba ani podporovaný.

2. Sestavení image ve službě Azure Container Registry

Image kontejneru můžete sestavit přímo v Azure několika způsoby. Nejprve můžete použít Azure Cloud Shell, který image sestaví bez použití místního prostředí. Image kontejneru můžete také sestavit v Azure z místního prostředí pomocí VS Code nebo Azure CLI. Sestavení image v cloudu nevyžaduje, aby byl Docker spuštěný ve vašem místním prostředí. Pokud potřebujete, můžete postupovat podle pokynů v části Klonovat nebo stáhnout ukázkovou aplikaci v části 2 tohoto kurzu a získat ukázkovou webovou aplikaci Flask nebo Django.

Příkazy Azure CLI je možné spouštět na pracovní stanici s nainstalovaným Azure CLI nebo v Azure Cloud Shellu. Při spuštění v Cloud Shellu přeskočte krok 1.

Krok 1. Pokud používáte Azure CLI místně, přihlaste se k registru, pokud jste to ještě neudělali pomocí příkazu az acr login .

az acr login -n $REGISTRY_NAME

Pokud přistupujete k registru z předplatného, které se liší od předplatného, ve kterém byl registr vytvořen, použijte --suffix přepínač.

Poznámka:

Příkaz az acr login není v Cloud Shellu potřeba ani podporovaný.

Krok 2. Sestavte image pomocí příkazu az acr build .

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

V tomto příkazu:

Krok 3. Pomocí příkazu az acr repository list ověřte, že se image kontejneru vytvořila.

az acr repository list -n $REGISTRY_NAME

Další krok