Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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 internetowa kontenera może używać lokalnego wystąpienia bazy danych MongoDB lub usługi Azure DocumentDB (ze zgodnością z bazą danych MongoDB) 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.
Azure DocumentDB (ze zgodnością z bazą danych MongoDB)
Usługa Azure DocumentDB jest bazą danych zgodną z bazą danych MongoDB używaną w tym samouczku na potrzeby przechowywania danych.
Konteneryzowana aplikacja łączy się z zasobem usługi Azure DocumentDB i uzyskuje do niej dostęp przy użyciu parametrów połączenia, które są przechowywane jako zmienna środowiskowa i udostępniane 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 DocumentDB 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 DocumentDB (ze zgodnością z bazą danych MongoDB) ( lub dostęp do równoważnej). Aby utworzyć bazę danych usługi Azure DocumentDB, 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.