Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této části série kurzů se dozvíte, jak sestavit kontejnerizovanou webovou aplikaci v Pythonu přímo ve službě Azure Container Registry bez místní instalace Dockeru. Sestavení image Dockeru v Azure je často rychlejší a jednodušší než místní vytvoření image Dockeru a následné nahrání do Azure Container Registry. Cloudové sestavování imagí navíc eliminuje potřebu Dockeru běžet ve vašem vývojovém prostředí.
App Service umožňuje spouštět kontejnerizované webové aplikace a nasazovat je prostřednictvím funkcí kontinuální integrace a průběžného nasazování (CI/CD) ve službě Docker Hub, Azure Container Registry a Visual Studio Team Services. Tento článek je 3. částí 5dílné série kurzů o kontejnerizaci a nasazení webové aplikace v Pythonu do služby Azure App Service. V této části kurzu se dozvíte, jak sestavit kontejnerizovanou webovou aplikaci v Pythonu v Azure.
Azure App Service umožňuje nasazovat a spouštět kontejnerizované webové aplikace pomocí kanálů CI/CD z platforem, jako je Docker Hub, Azure Container Registry a Azure DevOps. Tento článek je 3. částí 5dílné série kurzů.
Ve 2. části této série kurzů jste vytvořili a spustili image kontejneru místně. Naproti tomu v této části kurzu sestavíte (kontejnerizuje) stejnou webovou aplikaci v Pythonu přímo do image Dockeru 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 Azure App Service.
Tento diagram služby zvýrazňuje součásti popsané v tomto článku.
Vytvoření služby Azure Container Registry
Pokud máte existující službu Azure Container Registry, kterou chcete použít, přeskočte tento další krok a pokračujte dalším krokem. V opačném případě vytvořte novou službu Azure Container Registry pomocí Azure CLI.
Příkazy Azure CLI je možné spouštět v Azure Cloud Shellu nebo v místním vývojovém prostředí s nainstalovaným Azure CLI.
Poznámka
Použijte stejné názvy jako ve 2. části této série kurzů.
Pomocí příkazu az acr create vytvořte registr kontejneru Azure.
#!/bin/bash # Use the resource group that you created in part 2 of this tutorial series. RESOURCE_GROUP_NAME='msdocs-web-app-rg' # REGISTRY_NAME must be unique within Azure and contain 5-50 alphanumeric characters. REGISTRY_NAME='msdocscontainerregistryname' echo "Creating Azure Container Registry $REGISTRY_NAME..." az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku StandardVe výstupu JSON příkazu vyhledejte
loginServerhodnotu. Tato hodnota představuje plně kvalifikovaný název registru (všechna malá písmena) a obsahuje název registru.Pokud používáte Azure CLI na místním počítači, spusťte příkaz az acr login a přihlaste se k registru kontejneru.
az acr login -n $REGISTRY_NAMEPří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
V Azure Cloud Shellu není az
acr login commandpotřeba, protože ověřování se zpracovává automaticky prostřednictvím relace Cloud Shellu. Pokud ale narazíte na problémy s ověřováním, můžete ho přesto použít.
Vytvoření image ve službě Azure Container Registry
Image kontejneru můžete vygenerovat přímo v Azure prostřednictvím různých přístupů:
- Azure Cloud Shell umožňuje sestavit image zcela v cloudu nezávisle na místním prostředí.
- Alternativně můžete použít VS Code nebo Azure CLI k jeho vytvoření v Azure z místního nastavení, aniž byste museli Docker spouštět místně.
Příkazy Azure CLI se dají spouštět ve vašem místním vývojovém prostředí pomocí Azure CLI nainstalovaného nebo v Azure Cloud Shellu.
V konzole přejděte do kořenové složky pro klonované úložiště z části 2 této série kurzů.
Sestavte image kontejneru pomocí příkazu az acr build .
az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest . # When using Azure Cloud Shell, run one of the following commands instead: # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.gitPosledním argumentem v příkazu je plně kvalifikovaná cesta k úložišti. Při spuštění v Azure Cloud Shellu použijte https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git ukázkovou aplikaci Django a https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git ukázkovou aplikaci Flask.
Ověřte, že se image kontejneru vytvořila pomocí příkazu az acr repository list.
az acr repository list -n $REGISTRY_NAME