Udostępnij za pośrednictwem


Tworzenie konteneryzowanej aplikacji internetowej w języku Python w chmurze

Ten artykuł jest częścią samouczka dotyczącego konteneryzowania i wdrażania aplikacji internetowej w języku Python w usłudze Azure App Service. Usługa App Service umożliwia uruchamianie konteneryzowanych aplikacji internetowych i wdrażanie za pomocą funkcji ciągłej integracji/ciągłego wdrażania (CI/CD) za pomocą usług Docker Hub, Azure Container Registry i Visual Studio Team Services. W tej części samouczka dowiesz się, jak utworzyć konteneryzowaną aplikację internetową w języku Python w chmurze.

W poprzedniej opcjonalnej części tego samouczka obraz kontenera został skompilowany i uruchomiony lokalnie. Natomiast w tej części samouczka utworzysz (konteneryzujesz) aplikację internetową w języku Python w obrazie Docker bezpośrednio w rejestrze kontenerów Azure . 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 python na platformie Azure z wyróżnioną ścieżką kompilacji w chmurze.

Tworzenie usługi Azure Container Registry

Jeśli masz już usługę Azure Container Registry, której możesz użyć, przejdź do następnego kroku. Jeśli tego nie zrobisz, utwórz go.

Polecenia interfejsu wiersza polecenia platformy Azure można uruchamiać w usłudze Azure Cloud Shell lub na stacji roboczej z zainstalowanym interfejsem wiersza polecenia platformy Azure . Po uruchomieniu w usłudze Cloud Shell pomiń Krok 3.

  1. W razie potrzeby utwórz grupę zasobów za pomocą polecenia az group create. Jeśli masz już skonfigurowane konto usługi Azure Cosmos DB dla bazy danych MongoDB w części 2. Skompiluj i przetestuj kontener lokalnie tego samouczka, ustaw zmienną środowiskową RESOURCE_GROUP_NAME na nazwę grupy zasobów użytej dla tego konta i przejdź do następnego kroku.

    RESOURCE_GROUP_NAME='msdocs-web-app-rg'
    LOCATION='eastus'
    
    az group create -n $RESOURCE_GROUP_NAME -l $LOCATION
    

    LOKALIZACJA powinna być wartością lokalizacji platformy Azure. Wybierz lokalizację w pobliżu. Wartości lokalizacji platformy Azure można wyświetlić za pomocą następującego polecenia: az account list-locations -o table.

  2. Utwórz rejestr kontenerów za pomocą polecenia az acr create.

    REGISTRY_NAME='<your Azure Container Registry name>'
    
    az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku Basic
    

    REGISTRY_NAME musi być unikatowa na platformie Azure i zawierać od 5 do 50 znaków alfanumerycznych.

    W danych wyjściowych JSON polecenia wyszukaj wartość loginServer, która jest w pełni kwalifikowaną nazwą rejestru (wszystkie małe litery) i która powinna zawierać określoną nazwę rejestru.

  3. Jeśli używasz Azure CLI lokalnie, zaloguj się do rejestru przy użyciu polecenia az acr login.

    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

    Polecenie az acr login nie jest wymagane ani obsługiwane w usłudze Cloud Shell.

Tworzenie obrazu w usłudze Azure Container Registry

Obraz kontenera można utworzyć bezpośrednio na platformie Azure na kilka sposobów. Najpierw możesz użyć usługi Azure Cloud Shell, która kompiluje obraz bez korzystania ze środowiska lokalnego. Możesz również skompilować obraz kontenera na platformie Azure ze środowiska lokalnego przy użyciu programu VS Code lub interfejsu wiersza polecenia platformy Azure. Kompilowanie obrazu w chmurze nie wymaga działania platformy Docker w środowisku lokalnym. Jeśli chcesz, możesz wykonać instrukcje opisane w Clone lub pobrać przykładową aplikację w części 2 tego samouczka, aby uzyskać przykładową aplikację internetową platformy Flask lub Django.

Polecenia interfejsu wiersza polecenia platformy Azure można uruchamiać na stacji roboczej przy użyciu interfejsu wiersza polecenia platformy Azure zainstalowane gousługi Azure Cloud Shell. Po uruchomieniu w usłudze Cloud Shell pomiń Krok 1.

  1. Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, zaloguj się do rejestru, jeśli jeszcze tego nie zrobiłeś, za pomocą polecenia az acr login.

    az acr login -n $REGISTRY_NAME
    

    Jeśli uzyskujesz dostęp do rejestru z subskrypcji innej niż ta, w której utworzono rejestr, użyj przełącznika --suffix.

    Notatka

    Polecenie az acr login nie jest potrzebne i nie jest obsługiwane w usłudze Cloud Shell.

  2. Skompiluj obraz za pomocą polecenia az acr build.

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

    W tym poleceniu:

  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