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 MongoDB voor Azure Cosmos DB gebruiken om gegevens op te slaan. Zie Opties voor Azure-containers vergelijkenvoor meer informatie over het gebruik van containers in Azure.
In deze tutorial doet u het volgende:
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 reeks zelfstudies hebt voltooid, hebt u de basis voor Continue integratie (CI) en Continue implementatie (CD) 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 onderdelen die de ontwikkelaarsomgeving in deze zelfstudie ondersteunen, zijn onder andere:
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: bevat een code-editor en andere benodigde hulpprogramma's voor softwareontwikkeling.
lokaal MongoDB-exemplaar: een lokale MongoDB-database die tijdens de ontwikkeling wordt gebruikt voor gegevensopslag.
MongoDB-verbinding: toegang tot de lokale MongoDB-database die via een verbindingsreeks wordt geleverd.
Azure-omgeving
De onderdelen die de Azure-omgeving in deze zelfstudie ondersteunen, zijn onder andere:
-
- In Azure App Service maakt Web App for Containers gebruik van de Docker--containertechnologie om containerhosting van zowel ingebouwde installatiekopieën als aangepaste installatiekopieën te bieden 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 een nieuwe afbeelding naar het register wordt gepusht, activeert de webhookmelding App Service om de update 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 Cosmos DB voor MongoDB is een NoSQL-database die in deze zelfstudie wordt gebruikt voor gegevensopslag.
De containertoepassing maakt verbinding met en opent de Azure Cosmos DB-resource met behulp van een verbindingsreeks, die wordt opgeslagen als een omgevingsvariabele en wordt geleverd aan de app.
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 maakt gebruik van een door het systeem toegewezen beheerde identiteit om veilig afbeeldingen uit de repository op te halen. Deze beheerde identiteit verleent de web-app machtigingen om te communiceren met andere Azure-resources, waardoor expliciete referenties niet meer nodig zijn. Voor deze zelfstudie wordt de beheerde identiteit tijdens de configuratie van App Service ingesteld voor het gebruik van een containerimage van een register.
De voorbeeldweb-app in de zelfstudie maakt gebruik van MongoDB om gegevens op te slaan. De voorbeeldcode maakt via een verbindingsreeks verbinding met Azure Cosmos DB.
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 Cosmos DB voor MongoDB- (of toegang tot een equivalent). Als u een Azure Cosmos DB voor MongoDB-database wilt maken, volgt u de stappen in deel 2 van deze zelfstudie.
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.