Share via


Übersicht: Containerisierte Python-Web-App in Azure mit MongoDB

In diesem Lernprogramm erfahren Sie, wie Sie eine Python-Web-App containern und in Azure bereitstellen. Die einzelne Container-Web-App wird in Azure-App Service gehostet und verwendet MongoDB für Azure Cosmos DB zum Speichern von Daten. App Service Web App für Container ermöglicht es Ihnen, sich auf das Verfassen Ihrer Container zu konzentrieren, ohne sich Gedanken über die Verwaltung und Standard Haltung eines zugrunde liegenden Container-Orchestrators zu machen. Beim Erstellen von Web-Apps ist Azure-App Service eine gute Option zum Ausführen Ihrer ersten Schritte mit Containern. Weitere Informationen zur Verwendung von Containern in Azure finden Sie unter Vergleichen von Azure-Containeroptionen.

In diesem Lernprogramm führen Sie folgende Schritte aus:

  • Erstellen und ausführen Sie einen Docker-Container lokal. Dieser Schritt ist optional.

  • Erstellen Sie ein Docker-Containerimage direkt in Azure.

  • Konfigurieren Sie einen App-Dienst, um eine Web-App basierend auf dem Docker-Containerimage zu erstellen.

Im Anschluss an dieses Lernprogramm verfügen Sie über die Basis für continuous Integration (CI) und Continuous Deployment (CD) einer Python-Web-App in Azure.

Übersicht über den Dienst

Das Dienstdiagramm, das dieses Lernprogramm unterstützt, zeigt zwei Umgebungen (Entwicklerumgebung und Azure) und die verschiedenen Azure-Dienste, die im Lernprogramm verwendet werden.

A screenshot of the services using in the Tutorial - Containerized Python App on Azure.

Die Komponenten, die dieses Lernprogramm unterstützen und im obigen Diagramm gezeigt werden, sind:

  • Azure App Service

    • Die zugrunde liegende App Service-Funktionalität, die die Containerisierung ermöglicht, ist Web App für Container. Azure-App Dienst verwendet die Docker-Containertechnologie zum Hosten von integrierten Images und benutzerdefinierten Images. In diesem Lernprogramm erstellen Sie ein Image aus Python-Code und stellen es in Web App für Container bereit.

    • Web App für Container verwendet einen Webhook in der Registrierung, um über neue Bilder benachrichtigt zu werden. Ein Push eines neuen Images an das Repository löst App Service aus, um das Image abzurufen und neu zu starten.

  • Azure Container Registry

    • Mit azure Container Registry können Sie mit Docker-Images und den zugehörigen Komponenten in Azure arbeiten. Es stellt eine Registrierung bereit, die Ihren Bereitstellungen in Azure nahe kommt und Ihnen die Kontrolle über den Zugriff ermöglicht, sodass Sie Ihre Microsoft Entra-Gruppen und -Berechtigungen verwenden können.

    • In diesem Lernprogramm ist die Registrierungsquelle azure Container Registry, Sie können aber auch Docker Hub oder eine private Registrierung mit geringfügigen Änderungen verwenden.

  • Azure Cosmos DB for MongoDB

    • Die Azure Cosmos DB für MongoDB ist eine NoSQL-Datenbank, die in diesem Lernprogramm zum Speichern von Daten verwendet wird.

    • Der Zugriff auf die Azure Cosmos DB-Ressource erfolgt über eine Verbindungszeichenfolge, die als Umgebungsvariable an die containerisierte App übergeben wird.

Authentifizierung

In diesem Lernprogramm erstellen Sie ein Docker-Image (entweder lokal oder direkt in Azure) und stellen es für Azure-App Dienst bereit. Der App-Dienst ruft das Containerimage aus einem Azure-Containerregistrierungs-Repository ab.

Der App-Dienst verwendet verwaltete Identität , um Bilder aus der Azure-Containerregistrierung abzurufen. Mit verwalteter Identität können Sie der Web-App Berechtigungen erteilen, damit sie ohne Angabe von Anmeldeinformationen auf andere Azure-Ressourcen zugreifen kann. In diesem Lernprogramm wird eine vom System zugewiesene verwaltete Identität verwendet. Verwaltete Identität wird während des Setups von App Service für die Verwendung eines Registrierungscontainerimages konfiguriert.

Das Lernprogramm-Web-App verwendet MongoDB zum Speichern von Daten. Der Beispielcode stellt über einen Verbindungszeichenfolge eine Verbindung mit Azure Cosmos DB herstellt.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie Folgendes:

Beispiel-App

Die Python-Beispiel-App ist eine Restaurant-Rezensions-App, die Restaurant- und Rezensionsdaten in MongoDB speichert. Ein Beispiel für eine Web-App mit PostgreSQL finden Sie unter Erstellen und Bereitstellen einer Flask-Web-App in Azure mit einer verwalteten Identität.

Am Ende des Lernprogramms haben Sie eine Restaurantüberprüfungs-App bereitgestellt und in Azure ausgeführt, die wie der folgende Screenshot aussieht.

A screenshot of the sample app created from the Python containerized web app used in the Tutorial - Containerized Python App on Azure.

Nächster Schritt