Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudieserien visar hur du containeriserar en Python-webbapp och sedan antingen kör den lokalt eller distribuerar den till Azure App Service. Med App Service Web App for Containers kan du fokusera på att skapa dina containrar utan att behöva bekymra dig om att hantera och underhålla en underliggande containerorkestrerare. När du skapar webbappar är Azure App Service ett bra alternativ för att utföra dina första steg med containrar. Den här containerwebbappen kan använda antingen en lokal MongoDB-instans eller Azure DocumentDB (med MongoDB-kompatibilitet) för att lagra data. Mer information om hur du använder containrar i Azure finns i Jämföra Azure-containeralternativ.
I den här handledningen kommer du att:
Skapa och kör en Docker- container lokalt. Se Skapa och köra en containerbaserad Python-webbapp lokalt.
Skapa en Docker containeravbildning direkt i Azure. Se Skapa en containerbaserad Python-webbapp i Azure.
Konfigurera en App Service för att skapa en webbapp baserat på Docker-containeravbildningen. Se Distribuera en containerbaserad Python-app till App Service.
Efter att ha slutfört artiklarna i den här självstudieserien har du grunderna för kontinuerlig integrering (CI) och kontinuerlig driftsättning (CD) av en Python-webbapp till Azure.
Tjänstöversikt
Tjänstdiagrammet som stöder den här självstudien visar två miljöer: utvecklarmiljö och Azure-miljö. Den visar de viktigaste Azure-tjänsterna som används i utvecklingsprocessen.
Utvecklarmiljö
Utvecklarmiljön för den här självstudien innehåller följande komponenter:
Local Development System: En persondator som används för att koda, skapa och testa Docker-containern.
Docker Containerization: Docker används för att paketera appen och dess beroenden i en bärbar container.
Utvecklingsverktyg: En kodredigerare och andra nödvändiga verktyg för programvaruutveckling.
Lokal MongoDB-instans: En lokal MongoDB-databas som används för datalagring under utvecklingen.
MongoDB-anslutning: En reťazec pripojenia som ger åtkomst till den lokala MongoDB-databasen.
Azure-miljö
De komponenter som stöder Azure miljön i den här självstudien är:
-
- I Azure App Service använder Web App for Containers Docker-containertekniken för att tillhandahålla containervärdtjänster för både inbyggda avbildningar och anpassade avbildningar med hjälp av Docker.
- Web App for Containers använder en webhook i Azure Container Registry (ACR) för att få meddelanden om nya bilder. När du skickar en ny avbildning till registret utlöser webhook-meddelandet App Service för att hämta uppdateringen och starta om appen.
-
Med Azure Container Registry kan du lagra och hantera Docker-avbildningar och deras komponenter i Azure. Det tillhandahåller ett register nära dina distributioner i Azure som ger dig möjlighet att styra åtkomsten med hjälp av dina Microsoft Entra grupper och behörigheter.
I den här självstudien är Azure Container Registry registerkällan, men du kan också använda Docker Hub eller ett privat register med mindre ändringar.
Azure DocumentDB (med MongoDB-kompatibilitet)
Azure DocumentDB är en MongoDB-kompatibel databas som används i den här självstudien för datalagring.
Det containerbaserade programmet ansluter till och kommer åt Azure DocumentDB-resursen med hjälp av en reťazec pripojenia, som du lagrar som en miljövariabel och tillhandahåller till appen.
Autentisering
I den här självstudien skapar du en Docker-avbildning, antingen lokalt eller i Azure, och distribuerar den sedan till Azure App Service. App Service hämtar containeravbildningen från en Azure Container Registry-lagringsplats.
För att på ett säkert sätt hämta avbildningar från lagringsplatsen använder App Service en systemtilldelad hanterad identitet. Den här hanterade identiteten ger webbappen behörighet att interagera med andra Azure resurser, så du behöver inte explicita autentiseringsuppgifter. I den här självstudien konfigurerar du den hanterade identiteten under installationen av App Service för att använda en registercontaineravbildning.
Exempelwebbappen i handledningen använder MongoDB för att lagra data. Exempelkoden ansluter till Azure DocumentDB via en anslutningssträng.
Förutsättningar
För att slutföra den här självstudien behöver du:
Ett Azure-konto där du kan skapa:
- Azure Container Registry
- Azure App Service
- Azure DocumentDB (med MongoDB-kompatibilitet) (eller åtkomst till en motsvarighet). Följ stegen i del 2 i den här självstudien för att skapa en Azure DocumentDB-databas.
Visual Studio Code eller Azure CLI, beroende på vilket verktyg du väljer. Om du använder Visual Studio Code behöver du Docker-tillägget och Azure App Service-tillägget.
Följande Python-paket:
- MongoDB Shell (mongosh) för anslutning till MongoDB.
- Flask eller Django som ett webbramverk.
Docker installerat lokalt.
Exempelapp
Slutresultatet av den här handledningen är en recensionsapp för restauranger som distribueras och körs i Azure, som ser ut som på följande skärmbild.
I den här självstudien skapar du en Python-restauranggranskningsapp som använder MongoDB för datalagring. Ett exempelprogram med PostgreSQL finns i Skapa och distribuera en Flask-webbapp till Azure med en hanterad identitet.