Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej części serii samouczków dowiesz się, jak utworzyć konteneryzowaną aplikację internetową w języku Python bezpośrednio w usłudze Azure Container Registry bez lokalnego instalowania platformy Docker. Kompilowanie obrazu platformy Docker na platformie Azure jest często szybsze i łatwiejsze niż lokalne tworzenie obrazu, a następnie wypychanie go do usługi Azure Container Registry. Ponadto tworzenie obrazów opartych na chmurze eliminuje konieczność uruchamiania platformy Docker w środowisku projektowym.
Usługa App Service umożliwia uruchamianie konteneryzowanych aplikacji internetowych i wdrażanie ich za pośrednictwem funkcji ciągłej integracji/ciągłego wdrażania (CI/CD) usług Docker Hub, Azure Container Registry i Visual Studio Team Services. Ten artykuł jest częścią 3 z 5-częściowej serii samouczków na temat konteneryzowania i wdrażania aplikacji internetowej w języku Python w usłudze Azure App Service. W tej części samouczka dowiesz się, jak utworzyć konteneryzowaną aplikację internetową w języku Python na platformie Azure.
Usługa Azure App Service umożliwia wdrażanie i uruchamianie aplikacji internetowych w kontenerach przy użyciu potoków CI/CD z platform takich jak Docker Hub, Azure Container Registry i Azure DevOps. Ten artykuł jest częścią 3 z 5-częściowej serii samouczków.
W części 2 tej serii samouczków utworzono i uruchomiono lokalnie obraz kontenera. Podczas gdy w tej części samouczka tworzysz (budujesz i konteneryzujesz) tę samą aplikację Python bezpośrednio w obrazie Docker w usłudze Azure Container Registry. Kompilowanie obrazu na platformie Azure jest zwykle szybsze i łatwiejsze niż kompilowanie lokalnie, a następnie wypychanie obrazu do rejestru. Ponadto kompilowanie w chmurze nie wymaga działania platformy Docker w środowisku deweloperskim.
Gdy obraz Docker znajduje się w Azure Container Registry, można go wdrożyć w Azure App Service.
Ten diagram usługi wyróżnia składniki omówione w tym artykule.
Tworzenie usługi Azure Container Registry
Jeśli masz istniejącą usługę Azure Container Registry, której chcesz użyć, pomiń ten następny krok i przejdź do następnego kroku. W przeciwnym razie utwórz nową usługę Azure Container Registry przy użyciu interfejsu wiersza polecenia platformy Azure.
Polecenia interfejsu wiersza polecenia platformy Azure można uruchamiać w usłudze Azure Cloud Shell lub w lokalnym środowisku projektowym z zainstalowanym interfejsem wiersza polecenia platformy Azure.
Notatka
Użyj tych samych nazw co w części 2 tej serii samouczków.
Utwórz rejestr kontenerów platformy Azure za pomocą polecenia az acr create .
#!/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 StandardW danych wyjściowych polecenia JSON znajdź wartość
loginServer. Ta wartość reprezentuje w pełni kwalifikowaną nazwę rejestru (wszystkie małe litery) i zawiera nazwę rejestru.Jeśli używasz interfejsu wiersza polecenia platformy Azure na komputerze lokalnym, wykonaj polecenie az acr login , aby zalogować się do rejestru kontenerów.
az acr login -n $REGISTRY_NAMEPolecenie dodaje "azurecr.io" do nazwy, aby utworzyć w pełni kwalifikowaną nazwę rejestru. W przypadku powodzenia zostanie wyświetlony komunikat "Logowanie powiodło się".
Notatka
W usłudze Azure Cloud Shell polecenie az
acr login commandnie jest konieczne, ponieważ uwierzytelnianie jest obsługiwane automatycznie za pośrednictwem sesji usługi Cloud Shell. Jeśli jednak wystąpią problemy z uwierzytelnianiem, nadal możesz go użyć.
Tworzenie obrazu w usłudze Azure Container Registry
Obraz kontenera można wygenerować bezpośrednio na platformie Azure za pomocą różnych podejść:
- Usługa Azure Cloud Shell umożliwia tworzenie obrazu w całości w chmurze niezależnie od środowiska lokalnego.
- Alternatywnie możesz użyć programu VS Code lub interfejsu wiersza polecenia platformy Azure do utworzenia go na platformie Azure z lokalnej konfiguracji bez konieczności uruchamiania platformy Docker lokalnie.
Polecenia interfejsu wiersza polecenia platformy Azure można uruchamiać w lokalnym środowisku projektowym za pomocą interfejsu wiersza polecenia platformy Azure zainstalowanego lub w usłudze Azure Cloud Shell.
W konsoli przejdź do folderu głównego sklonowanego repozytorium z części 2 tej serii samouczków.
Skompiluj obraz kontenera przy użyciu polecenia 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.gitOstatnim argumentem w poleceniu jest w pełni kwalifikowana ścieżka do repozytorium. Podczas uruchamiania w usłudze Azure Cloud Shell użyj https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git dla przykładowej aplikacji Django i https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git dla przykładowej aplikacji Flask.
Upewnij się, że obraz kontenera został utworzony za pomocą polecenia az acr repository list .
az acr repository list -n $REGISTRY_NAME