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 Azure App 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 byla image kontejneru sestavena a spuštěna lokálně. Naproti tomu v této části kurzu sestavíte (kontejnerizuje) webovou aplikaci v Pythonu do image Dockeru přímo v 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 Azure App Service.

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

snímek obrazovky se službami, které se používají v kurzu – Kontejnerizovaná aplikace Pythonu v Azure se zvýrazněnou cestou build-in-cloud.

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.

  1. Pokud je to potřeba, 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. Místní sestavení a testování kontejneru tohoto kurzu, nastavte proměnnou prostředí RESOURCE_GROUP_NAME na název skupiny prostředků, kterou jste pro tento účet použili, a přejděte k dalšímu kroku.

    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 zobrazit pomocí následujícího příkazu: az account list-locations -o table.

  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 hodnotu loginServer, což je plně kvalifikovaný název registru (všechna malá písmena) a který by měl obsahovat zadaný název registru.

  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ý.

Vytvoření 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 Clone 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 pomocí Azure CLI nainstalovaného nebo v Azure Cloud Shellu. Při spuštění v Cloud Shellu přeskočte krok 1.

  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 přepínač --suffix.

    Poznámka

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

  2. Sestavte obraz pomocí příkazu az acr build.

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

    V tomto příkazu:

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

    az acr repository list -n $REGISTRY_NAME
    

Další krok