Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze reeks zelfstudies laat zien hoe u een Python-web-app in een container kunt zetten en deze vervolgens lokaal uitvoert of implementeert in Azure App Service. Met App Service Web App for Containers kunt u zich richten op het bouwen van uw containers zonder dat u zich zorgen hoeft te maken over het beheren en onderhouden van een onderliggende containerorchestrator. Wanneer u web-apps bouwt, is Azure App Service een goede optie voor het uitvoeren van uw eerste stappen met containers. Deze containerweb-app kan een lokaal MongoDB-exemplaar of Azure DocumentDB (met MongoDB-compatibiliteit) gebruiken om gegevens op te slaan. Zie Opties voor Azure-containers vergelijkenvoor meer informatie over het gebruik van containers in Azure.
In deze handleiding leert u:
Bouw en voer lokaal een Docker-container uit. Zie Lokaal een in een container geplaatste Python-web-app bouwen en uitvoeren.
Bouw een Docker containerimage rechtstreeks in Azure. Zie Een in een container geplaatste Python-web-app bouwen in Azure.
Stel een App Service in om een web-app te maken gebaseerd op de Docker-containerafbeelding. Zie Een in een container geplaatste Python-app implementeren in App Service.
Nadat u de artikelen in deze zelfstudieserie hebt voltooid, hebt u een basis voor continue integratie (CI) en CD (continue implementatie) van een Python-web-app naar Azure.
Overzicht van de service
Het servicediagram dat deze zelfstudie ondersteunt, bevat twee omgevingen: ontwikkelomgeving en Azure-omgeving. Hierin worden de belangrijkste Azure-services gemarkeerd die in het ontwikkelingsproces worden gebruikt.
Ontwikkelomgeving
De ontwikkelomgeving voor deze zelfstudie bevat de volgende onderdelen:
Local Development System: een persoonlijke computer die wordt gebruikt voor het coderen, bouwen en testen van de Docker-container.
Docker-containerisatie: Docker wordt gebruikt om de app en de bijbehorende afhankelijkheden in een draagbare container te verpakken.
Ontwikkelhulpprogramma's: een code-editor en andere benodigde hulpprogramma's voor softwareontwikkeling.
Lokaal MongoDB-exemplaar: een lokale MongoDB-database die wordt gebruikt voor gegevensopslag tijdens de ontwikkeling.
MongoDB-verbinding: een verbindingsreeks die toegang biedt tot de lokale MongoDB-database.
Azure-omgeving
De onderdelen die ondersteuning bieden voor de Azure-omgeving in deze zelfstudie zijn onder andere:
-
- In Azure App Service gebruikt Web App for Containers de Docker-containertechnologie om containerhosting te bieden voor zowel ingebouwde installatiekopieën als aangepaste installatiekopieën met behulp van Docker.
- Web App for Containers maakt gebruik van een webhook in de Azure Container Registry (ACR) om op de hoogte te worden gesteld van nieuwe images. Wanneer u een nieuwe installatiekopie naar het register pusht, activeert de webhookmelding App Service om de update op te halen en de app opnieuw te starten.
-
Met Azure Container Registry kunt u Docker-installatiekopieën en hun onderdelen opslaan en beheren in Azure. Het biedt een register in de buurt van uw implementaties in Azure waarmee u de toegang kunt beheren met behulp van uw Microsoft Entra groepen en machtigingen.
In deze zelfstudie is Azure Container Registry de registerbron, maar u kunt ook Docker Hub of een privéregister gebruiken met kleine wijzigingen.
Azure DocumentDB (met MongoDB-compatibiliteit)
Azure DocumentDB is een mongoDB-compatibele database die in deze zelfstudie wordt gebruikt voor gegevensopslag.
De containertoepassing maakt verbinding met en opent de Azure DocumentDB-resource met behulp van een verbindingsreeks, die u opslaat als een omgevingsvariabele en aan de app levert.
Authenticatie
In deze handleiding bouwt u een Docker-image, lokaal of in Azure, en rolt u deze vervolgens uit naar Azure App Service. De App Service haalt de containerinstallatiekopie op uit een Azure Container Registry-opslagplaats.
App Service gebruikt een door het systeem toegewezen beheerde identiteit om veilig installatiekopieën op te halen uit de opslagplaats. Deze beheerde identiteit verleent de web-app machtigingen om te communiceren met andere Azure resources, zodat u geen expliciete referenties nodig hebt. Configureer in deze zelfstudie de beheerde identiteit tijdens het instellen van App Service zodat deze een containerinstallatiekopie uit een register gebruikt.
De voorbeeldweb-app in de zelfstudie maakt gebruik van MongoDB om gegevens op te slaan. De voorbeeldcode maakt verbinding met Azure DocumentDB via een verbindingsreeks.
Voorwaarden
U hebt het volgende nodig om deze zelfstudie te voltooien:
Een Azure-account waar u het volgende kunt maken:
- Azure Container Registry
- Azure App Service
- Azure DocumentDB (met MongoDB-compatibiliteit) (of toegang tot een equivalent). Volg de stappen in deel 2 van deze zelfstudie om een Azure DocumentDB-database te maken.
Visual Studio Code of Azure CLI, afhankelijk van uw keuzeprogramma. Als u Visual Studio Code gebruikt, hebt u de Docker-extensie nodig en Azure App Service-extensie.
Deze Python-pakketten:
- MongoDB Shell (mongosh) voor het maken van verbinding met MongoDB.
- Flask of Django als een web framework.
Docker- lokaal geïnstalleerd.
Voorbeeld-app
Het eindresultaat van deze zelfstudie is een restaurantbeoordelings-app, geïmplementeerd en uitgevoerd in Azure, die eruitziet als de volgende schermopname.
In deze zelfstudie bouwt u een Python-restaurantbeoordelings-app die Gebruikmaakt van MongoDB voor gegevensopslag. Zie Een Flask-web-app maken en implementeren in Azure met een beheerde identiteit voor een voorbeeld-app met PostgreSQL.