Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej serii samouczków pokazano, jak konteneryzować aplikację internetową w języku Python, a następnie uruchomić ją lokalnie lub wdrożyć w usłudze Azure App Service. Usługa App Service Web App for Containers umożliwia skoncentrowanie się na tworzeniu kontenerów bez martwienia się o zarządzanie bazowym orkiestratorem kontenerów i konserwowanie go. Podczas tworzenia aplikacji internetowych usługa Azure App Service jest dobrym rozwiązaniem do wykonywania pierwszych kroków z kontenerami. Ta aplikacja kontenerowa może używać lokalnej instancji MongoDB lub MongoDB dla usługi Azure Cosmos DB do przechowywania danych. Aby uzyskać więcej informacji na temat używania kontenerów na platformie Azure, zobacz Porównanie opcji kontenera platformy Azure.
W tym samouczku nauczysz się:
Kompilowanie i uruchamianie kontenera platformy Docker lokalnie. Zobacz Tworzenie i uruchamianie konteneryzowanej aplikacji internetowej w języku Python lokalnie.
Tworzenie obrazu kontenera platformy Docker bezpośrednio na platformie Azure. Zobacz Tworzenie konteneryzowanej aplikacji internetowej w języku Python na platformie Azure.
Skonfiguruj usługę App Service, aby utworzyć aplikację internetową na podstawie obrazu kontenera platformy Docker. Zobacz Wdrażanie konteneryzowanej aplikacji w języku Python w usłudze App Service.
Po ukończeniu artykułów z tej serii samouczków będziesz mieć podstawę dla ciągłej integracji (CI) i ciągłego wdrażania (CD) aplikacji internetowej w języku Python na platformie Azure.
Omówienie usługi
Diagram usługi obsługujący ten samouczek przedstawia dwa środowiska: środowisko deweloperskie i środowisko platformy Azure. Wyróżnia ona kluczowe usługi platformy Azure używane w procesie programowania.
Środowisko programistyczne
Składniki obsługujące środowisko deweloperskie w tym samouczku obejmują:
Lokalny system programowania: komputer osobisty używany do kodowania, kompilowania i testowania kontenera platformy Docker.
Konteneryzacja platformy Docker: platforma Docker jest stosowana do tworzenia pakietów aplikacji i jej zależności w kontenerze przenośnym.
Narzędzia programistyczne: zawiera edytor kodu i inne niezbędne narzędzia do tworzenia oprogramowania.
Lokalne wystąpienie bazy danych MongoDB: lokalna baza danych MongoDB używana do przechowywania danych podczas programowania.
Połączenie z bazą danych MongoDB: dostęp do lokalnej bazy danych MongoDB udostępnianej za pośrednictwem parametrów połączenia.
Środowisko platformy Azure
Składniki obsługujące środowisko platformy Azure w tym samouczku obejmują:
-
- W usłudze Azure App Service usługa Web App for Containers używa technologii kontenera platformy Docker do udostępniania hostingu kontenerów zarówno wbudowanych obrazów, jak i obrazów niestandardowych przy użyciu platformy Docker.
- Usługa Web App for Containers używa webhooku w usłudze Azure Container Registry (ACR), aby otrzymywać powiadomienia o nowych obrazach. Po wypchnięciu nowego obrazu do rejestru powiadomienie webhook wyzwala usługę App Service do pobrania aktualizacji i ponownego uruchomienia aplikacji.
-
Usługa Azure Container Registry umożliwia przechowywanie obrazów platformy Docker i ich składników oraz zarządzanie nimi na platformie Azure. Udostępnia rejestr znajdujący się w pobliżu wdrożeń na platformie Azure, który umożliwia kontrolowanie dostępu przy użyciu grup i uprawnień firmy Microsoft Entra.
W tym samouczku usługa Azure Container Registry jest źródłem rejestru, ale można również użyć usługi Docker Hub lub prywatnego rejestru z drobnymi modyfikacjami.
-
Usługa Azure Cosmos DB for MongoDB to baza danych NoSQL używana w tym samouczku do przechowywania danych.
Konteneryzowana aplikacja łączy się z zasobem usługi Azure Cosmos DB i uzyskuje do niej dostęp przy użyciu parametrów połączenia, które są przechowywane jako zmienna środowiskowa i dostarczane do aplikacji.
Uwierzytelnianie
W tym samouczku utworzysz obraz platformy Docker lokalnie lub na platformie Azure, a następnie wdrożysz go w usłudze Azure App Service. Usługa App Service ściąga obraz kontenera z repozytorium usługi Azure Container Registry.
Aby bezpiecznie ściągać obrazy z repozytorium, usługa App Service korzysta z tożsamości zarządzanej przypisanej przez system. Ta tożsamość zarządzana przyznaje aplikacji internetowej uprawnienia do interakcji z innymi zasobami platformy Azure, eliminując potrzebę jawnych poświadczeń. Na potrzeby tego samouczka tożsamość zarządzana jest konfigurowana w trakcie konfiguracji usługi App Service do wykorzystania obrazu kontenera z rejestru.
Przykładowa aplikacja internetowa z samouczka używa bazy danych MongoDB do przechowywania danych. Przykładowy kod łączy się z usługą Azure Cosmos DB za pośrednictwem parametrów połączenia.
Wymagania wstępne
Do ukończenia tego samouczka potrzebne są następujące elementy:
Konto platformy Azure, na którym można utworzyć:
- Azure Container Registry
- Azure App Service
- Usługa Azure Cosmos DB dla bazy danych MongoDB (lub dostęp do równoważnej). Aby utworzyć bazę danych usługi Azure Cosmos DB dla bazy danych MongoDB, wykonaj kroki opisane w części 2 tego samouczka.
Visual Studio Code lub Azure CLI w zależności od wybranego narzędzia. Jeśli używasz programu Visual Studio Code, potrzebujesz rozszerzenia Platformy Docker i rozszerzenia usługi Azure App Service.
Te pakiety języka Python:
- Powłoka mongoDB (mongosh) do nawiązywania połączenia z bazą danych MongoDB.
- Flask lub Django jako framework webowy.
Platforma Docker zainstalowana lokalnie.
Przykładowa aplikacja
Wynikiem końcowym tego samouczka jest aplikacja do przeglądu restauracji, wdrożona i uruchomiona na platformie Azure, która wygląda jak na poniższym zrzucie ekranu.
W tym samouczku utworzysz aplikację do recenzowania restauracji w Pythonie, która korzysta z MongoDB do przechowywania danych. Aby zapoznać się z przykładową aplikacją korzystającą z bazy danych PostgreSQL, zobacz Tworzenie i wdrażanie aplikacji internetowej platformy Flask na platformie Azure przy użyciu tożsamości zarządzanej.