Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette série de tutoriels vous montre comment conteneuriser une application web Python, puis l’exécuter localement ou la déployer sur Azure App Service. App Service Web App for Containers vous permet de vous concentrer sur la création de vos conteneurs sans vous soucier de la gestion et de la maintenance d’un orchestrateur de conteneurs sous-jacent. Lorsque vous créez des applications web, Azure App Service est une bonne option pour suivre vos premières étapes avec des conteneurs. Cette application web conteneur peut utiliser une instance MongoDB locale ou MongoDB pour Azure Cosmos DB pour stocker des données. Pour en savoir plus sur l’utilisation des conteneurs dans Azure, consultez Comparaison des options de conteneurs Azure.
Dans ce tutoriel, vous allez :
Créez et exécutez un conteneur Docker localement. Consultez Générer et exécuter une application web Python en conteneur localement.
Créez une image de conteneur Docker directement dans Azure. Consultez Créer une application web Python conteneurisée dans Azure.
Configurez un App Service pour créer une application web basée sur l’image conteneur Docker. Consultez Déployer une application Python conteneurisée sur App Service.
Une fois les articles de cette série de didacticiels terminés, vous aurez la base de l’intégration continue (CI) et du déploiement continu (CD) d’une application web Python sur Azure.
Présentation des services
Le diagramme de service prenant en charge ce didacticiel présente deux environnements : l’environnement développeur et l’environnement Azure. Il met en évidence les principaux services Azure utilisés dans le processus de développement.
Environnement de développeur
Les composants prenant en charge l’environnement de développement dans ce tutoriel sont les suivants :
Système de développement local : un ordinateur personnel utilisé pour le codage, la compilation et le test du conteneur Docker.
Mise en conteneur Docker : Docker est utilisé pour empaqueter l’application et ses dépendances dans un conteneur portable.
Outils de développement : Inclut un éditeur de code ainsi que d'autres outils indispensables pour le développement logiciel.
Instance MongoDB locale : base de données MongoDB locale utilisée pour le stockage des données pendant le développement.
Connexion MongoDB : accès à la base de données MongoDB locale fourni via une chaîne de connexion.
Environnement Azure
Les composants prenant en charge l’environnement Azure dans ce tutoriel sont les suivants :
-
- Dans Azure App Service, Web App for Containers utilise la technologie des conteneurs Docker pour héberger des images intégrées et personnalisées.
- Web App for Containers utilise un webhook dans Azure Container Registry (ACR) pour être averti des nouvelles images. Lorsqu’une nouvelle image est envoyée au registre, la notification de webhook amène App Service à extraire la mise à jour et à redémarrer l’application.
-
Azure Container Registry vous permet de stocker et de gérer des images Docker et leurs composants dans Azure. Il fournit un registre situé près de vos déploiements dans Azure, ce qui vous permet de contrôler l’accès à l’aide de vos groupes et autorisations Microsoft Entra.
Dans ce tutoriel, Azure Container Registry est la source du Registre, mais vous pouvez également utiliser Docker Hub ou un registre privé avec des modifications mineures.
-
Azure Cosmos DB pour MongoDB est une base de données NoSQL utilisée dans ce didacticiel pour le stockage de données.
L’application conteneurisée se connecte à la ressource Azure Cosmos DB et y accède à l’aide d’une chaîne de connexion, qui est stockée en tant que variable d’environnement et fournie à l’application.
Authentification
Dans ce tutoriel, vous créez une image Docker, localement ou dans Azure, puis déployez-la sur Azure App Service. App Service extrait l’image conteneur à partir d’un référentiel Azure Container Registry.
Pour extraire en toute sécurité des images à partir du référentiel, App Service utilise une identité managée affectée par le système. Cette identité managée accorde les autorisations d’application web pour interagir avec d’autres ressources Azure, ce qui élimine la nécessité d’informations d’identification explicites. Pour ce tutoriel, l’identité managée est configurée lors de l’installation d’App Service pour utiliser une image conteneur de Registre.
L’exemple d’application web du didacticiel utilise MongoDB pour stocker des données. L’exemple de code se connecte à Azure Cosmos DB via une chaîne de connexion.
Conditions préalables
Pour suivre ce didacticiel, vous avez besoin des éléments suivants :
Un compte Azure dans lequel vous pouvez créer :
- Azure Container Registry
- Azure App Service
- Azure Cosmos DB pour MongoDB (ou accès à un équivalent). Pour créer une base de données Azure Cosmos DB pour MongoDB, suivez les étapes décrites dans la partie 2 de ce tutoriel.
Visual Studio Code ou Azure CLI, selon l'outil de votre choix. Si vous utilisez Visual Studio Code, vous avez besoin des extensions Docker et Azure App Service.
Ces packages Python :
- MongoDB Shell (mongosh) pour la connexion à MongoDB.
- Flask ou Django comme framework web.
Docker installé localement.
Exemple d’application
Le résultat final de ce didacticiel est une application de révision de restaurant, déployée et en cours d’exécution dans Azure, qui ressemble à la capture d’écran suivante.
Dans ce tutoriel, vous créez une application de révision de restaurant Python qui utilise MongoDB pour le stockage de données. Pour obtenir un exemple d’application utilisant PostgreSQL, consultez Créer et déployer une application web Flask sur Azure avec une identité managée.
Étape suivante
Construire et tester localement