Udostępnij za pomocą


Tworzenie konteneryzowanej aplikacji internetowej w języku Python na platformie Azure

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.

Zrzut ekranu usług używanych w samouczku — konteneryzowana aplikacja języka Python na platformie Azure z wyróżnioną ścieżką kompilacji w chmurze.

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.

  1. 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 Standard
    

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

  2. 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_NAME
    

    Polecenie 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 command nie 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.

  1. W konsoli przejdź do folderu głównego sklonowanego repozytorium z części 2 tej serii samouczków.

  2. 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.git
    

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

  3. Upewnij się, że obraz kontenera został utworzony za pomocą polecenia az acr repository list .

    az acr repository list -n $REGISTRY_NAME
    

Następny krok