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.
Cet article explique comment prendre un projet Python, tel qu’une application web, et le déployer en tant que conteneur Docker dans Azure. Il couvre le flux de travail de conteneurisation général, les options de déploiement Azure pour les conteneurs et les configurations de conteneur spécifiques à Python dans Azure. La création et le déploiement de conteneurs Docker dans Azure suivent un processus standard entre les langages, avec des configurations spécifiques à Python dans le fichier Dockerfile, requirements.txtet des paramètres pour les infrastructures web telles que Django, Flask et FastAPI.
Scénarios de flux de travail de conteneur
Pour le développement de conteneurs Python, certains flux de travail classiques pour passer du code au conteneur sont décrits dans le tableau suivant.
Scénario | Descriptif | Flux de travail |
---|---|---|
Dev | Générez des images Docker Python localement dans votre environnement de développement. |
Code : clonez votre code d’application localement à l’aide de Git (avec Docker installé). Build : Utiliser Docker CLI, VS Code (avec extensions), PyCharm (avec le plug-in Docker). Décrit dans la section Utilisation des images et des conteneurs Docker Python. Test : exécutez et testez le conteneur localement. Push : envoyez (push) l’image à un registre de conteneurs tel qu’Azure Container Registry, Docker Hub ou un registre privé. Déployer : déployez le conteneur à partir du registre sur un service Azure. |
Hybride | Générez des images Docker dans Azure, mais lancez le processus à partir de votre environnement local. |
Code : clonez le code localement (non nécessaire pour que Docker soit installé). Générer : pour déclencher des builds dans Azure, utilisez VS Code (avec des extensions distantes) ou Azure CLI. Push : envoi (push) de l’image générée vers Azure Container Registry. Déployer : déployez le conteneur à partir du registre sur un service Azure. |
Azur | Utilisez Azure Cloud Shell pour créer et déployer des conteneurs entièrement dans le cloud. |
Code : clonez le dépôt GitHub dans Azure Cloud Shell. Build : Utilisez Azure CLI ou Docker CLI dans Cloud Shell. Push : envoyez (push) l’image à un registre tel qu’Azure Container Registry, Docker Hub ou un registre privé. Déployer : déployez le conteneur à partir du registre sur un service Azure. |
L’objectif final de ces flux de travail est d’avoir un conteneur s’exécutant dans l’une des ressources Azure prenant en charge les conteneurs Docker, comme indiqué dans la section suivante.
Un environnement de développement peut être :
- Votre station de travail locale avec Visual Studio Code ou PyCharm
- Codespaces (environnement de développement hébergé sur le cloud)
- Conteneurs Visual Studio Dev (un conteneur en tant qu’environnement de développement)
Options de conteneur de déploiement dans Azure
Les applications conteneur Python sont prises en charge dans les services suivants.
Service | Descriptif |
---|---|
Application Web pour des conteneurs | Azure App Service est une plateforme d’hébergement entièrement managée pour les applications web en conteneur, y compris les sites web et les API web. Il prend en charge les déploiements évolutifs et s’intègre en toute transparence aux flux de travail CI/CD à l’aide de Docker Hub, d’Azure Container Registry et de GitHub. Ce service est idéal pour les développeurs qui veulent un chemin simple et efficace pour déployer des applications conteneurisées, tout en bénéficiant également des fonctionnalités complètes de la plateforme Azure App Service. En empaquetant votre application et toutes ses dépendances dans un seul conteneur déployable, vous bénéficiez à la fois de la portabilité et de la facilité de gestion, sans avoir à gérer l’infrastructure.
Exemple : Déployer une application web Flask ou FastPI sur Azure App Service. |
Azure Container Apps (ACA) | Azure Container Apps (ACA) est un service de conteneur serverless entièrement managé alimenté par Kubernetes et des technologies open source telles que Dapr, KEDA et envoy. Sa conception intègre les meilleures pratiques du secteur et est optimisée pour l’exécution de conteneurs à usage général. ACA élimine la complexité de la gestion d’une infrastructure Kubernetes : l’accès direct à l’API Kubernetes n’est pas requis ou pris en charge. Au lieu de cela, il offre des constructions d’application de niveau supérieur telles que des révisions, la mise à l’échelle, les certificats et les environnements pour simplifier les flux de travail de développement et de déploiement. Ce service est idéal pour les équipes de développement qui cherchent à créer et déployer des microservices en conteneur avec une surcharge opérationnelle minimale, ce qui leur permet de se concentrer sur la logique d’application au lieu de la gestion de l’infrastructure. Exemple : Déployer une application web Flask ou FastPI sur Azure Container Apps. |
Azure Container Instances (ACI) | Azure Container Instances (ACI) est une offre serverless qui fournit un seul pod de Hyper-V conteneurs isolés à la demande. La facturation est basée sur la consommation réelle des ressources plutôt que sur l’infrastructure pré-allouée, ce qui le rend bien adapté aux charges de travail à courte durée ou en rafale. Contrairement à d’autres services de conteneur, ACI n’inclut pas la prise en charge intégrée des concepts tels que la mise à l’échelle, l’équilibrage de charge ou les certificats TLS. Au lieu de cela, il fonctionne généralement comme un bloc de construction de conteneur fondamental, souvent intégré à des services Azure comme Azure Kubernetes Service (AKS) pour l’orchestration. ACI excelle comme un choix léger lorsque les abstractions et fonctionnalités de niveau supérieur d’Azure Container Apps ne sont pas nécessaires : Créer une image conteneur pour le déploiement sur Azure Container Instances. (Le didacticiel n’est pas spécifique à Python, mais les concepts présentés s’appliquent à tous les langages.) |
Azure Kubernetes Service (AKS) | Azure Kubernetes Service (AKS) est une option Kubernetes entièrement managée dans Azure qui vous donne un contrôle total sur votre environnement Kubernetes. Il prend en charge l’accès direct à l’API Kubernetes et peut exécuter n’importe quelle charge de travail Kubernetes standard. Le cluster entier se trouve dans votre abonnement, avec les configurations et les opérations du cluster sous votre contrôle et votre responsabilité. ACI est idéal pour les équipes qui recherchent une solution de conteneur entièrement managée, tandis qu’AKS vous donne un contrôle total sur le cluster Kubernetes, ce qui vous oblige à gérer les configurations, la mise en réseau, la mise à l’échelle et les opérations. Azure gère le plan de contrôle et l’approvisionnement d’infrastructure, mais l’opération quotidienne et la sécurité du cluster se trouvent dans le contrôle de votre équipe. Ce service est idéal pour les équipes qui souhaitent bénéficier de la flexibilité et de la puissance de Kubernetes avec l’avantage supplémentaire de l’infrastructure managée d’Azure, tout en conservant la propriété complète sur l’environnement de cluster.
Exemple : Déployez un cluster Azure Kubernetes Service à l’aide d’Azure CLI. |
Azure Functions | Azure Functions offre une plateforme Functions as a Service (FaaS) basée sur des événements qui vous permet d’exécuter de petits éléments de code (fonctions) en réponse aux événements, sans gérer l’infrastructure. Azure Functions partage de nombreuses caractéristiques avec Azure Container Apps autour de la mise à l’échelle et de l’intégration avec les événements, mais est optimisé pour les fonctions de courte durée déployées en tant que code ou conteneurs. al pour les équipes qui cherchent à déclencher l’exécution de fonctions sur des événements ; par exemple, pour établir une liaison à d’autres sources de données. Comme Azure Container Apps, Azure Functions prend en charge la mise à l’échelle et l’intégration automatiques avec les sources d’événements (par exemple, les requêtes HTTP, les files d’attente de messages ou les mises à jour de stockage d’objets blob). Ce service est idéal pour les équipes qui créent des flux de travail légers et déclenchés par des événements, tels que le traitement des chargements de fichiers ou la réponse aux modifications de base de données, en Python ou dans d’autres langages.
Exemple : Créez une fonction sur Linux à l’aide d’un conteneur personnalisé. |
Pour obtenir une comparaison plus détaillée de ces services, consultez Comparaison de Container Apps avec d’autres options de conteneur Azure.
Environnements virtuels et conteneurs
Les environnements virtuels dans Python isolent les dépendances de projet des installations Python au niveau du système, ce qui garantit la cohérence entre les environnements de développement. Un environnement virtuel inclut son propre interpréteur Python isolé, ainsi que les bibliothèques et les scripts nécessaires pour exécuter le code de projet spécifique dans cet environnement. Les dépendances pour les projets Python sont gérées via le fichier requirements.txt . En spécifiant des dépendances dans un fichier requirements.txt , les développeurs peuvent reproduire l’environnement exact nécessaire pour leur projet. Cette approche facilite les transitions plus fluides vers des déploiements conteneurisés comme Azure App Service, où la cohérence de l’environnement est essentielle pour les performances des applications fiables.
Conseil / Astuce
Dans les projets Python conteneurisés, les environnements virtuels sont généralement inutiles, car les conteneurs Docker fournissent des environnements isolés avec leur propre interpréteur et dépendances Python. Toutefois, vous pouvez utiliser des environnements virtuels pour le développement ou les tests locaux. Pour que les images Docker restent maigres, excluez les environnements virtuels à l’aide d’un fichier .dockerignore , ce qui empêche la copie de fichiers inutiles dans l’image.
Vous pouvez considérer les conteneurs Docker comme offrant des fonctionnalités similaires aux environnements virtuels Python, mais avec des avantages plus larges en matière de reproductibilité, d’isolation et de portabilité. Contrairement aux environnements virtuels, les conteneurs Docker peuvent s’exécuter de manière cohérente sur différents systèmes d’exploitation et environnements, tant qu’un runtime de conteneur est disponible.
Un conteneur Docker inclut votre code de projet Python, ainsi que tout ce dont il a besoin pour s’exécuter, comme les dépendances, les paramètres d’environnement et les bibliothèques système. Pour créer un conteneur, vous créez d’abord une image Docker à partir du code et de la configuration de votre projet, puis démarrez un conteneur, qui est une instance exécutable de cette image.
Pour conteneuriser des projets Python, les fichiers clés sont décrits dans le tableau suivant :
Fichier projet | Descriptif |
---|---|
requirements.txt | Ce fichier contient la liste définitive des dépendances Python nécessaires pour votre application. Docker utilise cette liste pendant le processus de génération d’image pour installer tous les packages requis. Cela garantit la cohérence entre les environnements de développement et de déploiement. |
Dockerfile | Ce fichier contient des instructions pour créer votre image Docker Python, notamment la sélection de l’image de base, l’installation des dépendances, la copie de code et les commandes de démarrage de conteneur. Il définit l’environnement d’exécution complet pour votre application. Pour plus d’informations, consultez la section Instructions dockerfile pour Python. |
.dockerignore | Ce fichier spécifie les fichiers et répertoires qui doivent être exclus lors de la copie de contenu dans l’image Docker avec la COPY commande dans le fichier Dockerfile. Ce fichier utilise des modèles similaires à .gitignore pour définir des exclusions. Le fichier .dockerignore prend en charge les modèles d’exclusion similaires aux fichiers .gitignore . Pour plus d’informations, consultez le fichier .dockerignore. L'exclusion de fichiers aide à améliorer les performances de construction de l'image, mais elle doit également être utilisée pour éviter d'ajouter des informations sensibles que l'on pourrait inspecter dans l'image. Par exemple, .dockerignore doit contenir des lignes pour ignorer .env et .venv (environnements virtuels). |
Paramètres de conteneur pour les frameworks web
Les frameworks web sont généralement liés aux ports par défaut (tels que 5000 pour Flask, 8000 pour FastAPI). Lorsque vous déployez des conteneurs sur des services Azure, tels qu’Azure Container Instances, Azure Kubernetes Service (AKS) ou App Service pour conteneurs, il est essentiel que vous exposez et configurez explicitement le port d’écoute du conteneur pour garantir le routage approprié du trafic entrant. La configuration du port approprié garantit que l’infrastructure d’Azure peut diriger les requêtes vers le point de terminaison approprié à l’intérieur de votre conteneur.
Infrastructure web | Port |
---|---|
Django | 8 000 |
Fiole | 5000 ou 5002 |
FastAPI (uvicorn) | 8000 ou 80 |
Le tableau suivant montre comment définir le port pour différentes solutions de conteneur Azure.
Solution de conteneur Azure | Comment définir le port d’application web |
---|---|
Application web pour conteneurs | Par défaut, App Service suppose que votre conteneur personnalisé écoute sur le port 80 ou le port 8080. Si votre conteneur écoute un port différent, définissez le paramètre d’application WEBSITES_PORT dans votre application App Service. Pour plus d’informations, consultez Configurer un conteneur personnalisé pour Azure App Service. |
Applications de conteneurs Azure | Azure Container Apps vous permet d’exposer votre application conteneur sur le web public, à votre réseau virtuel ou à d’autres applications conteneur dans le même environnement en activant l’entrée. Définissez l’entrée targetPort sur le port que votre conteneur écoute pour les requêtes entrantes. Le point de terminaison d’entrée de l’application est toujours exposé sur le port 443. Pour plus d’informations, consultez Configurer l’entrée HTTPS ou TCP dans Azure Container Apps. |
Azure Container Instances, Azure Kubernetes | Vous définissez le port sur lequel votre application écoute pendant la création d’un conteneur ou d’un pod. Votre image conteneur doit inclure un framework web, un serveur d’applications (par exemple, gunicorn, uvicorn) et éventuellement un serveur web (par exemple, nginx). Dans des scénarios plus complexes, vous pouvez fractionner les responsabilités entre deux conteneurs : un pour le serveur d’applications et un autre pour le serveur web. Dans ce cas, le conteneur de serveur web expose généralement les ports 80 ou 443 pour le trafic externe. |
Python Dockerfile
Un fichier Dockerfile est un fichier texte qui contient des instructions pour créer une image Docker pour une application Python. La première instruction spécifie généralement l’image de base à partir de laquelle commencer. Les instructions suivantes détaillent ensuite les actions telles que l’installation de logiciels nécessaires, la copie des fichiers d’application et la configuration de l’environnement pour créer une image exécutable. Le tableau suivant fournit des exemples spécifiques à Python pour obtenir des instructions Dockerfile couramment utilisées.
Instructions | Objectif | Exemple : |
---|---|---|
DE | Définit l’image de base pour les instructions suivantes. | FROM python:3.8-slim |
EXPOSER | Indique à Docker que le conteneur écoute un port spécifié au moment de l’exécution. | EXPOSE 5000 |
COPIER | Copie les fichiers ou répertoires de la source spécifiée et les ajoute au système de fichiers du conteneur au chemin de destination spécifié. | COPY . /app |
COURIR | Exécute une commande à l’intérieur de l’image Docker. Par exemple, tirez les dépendances. La commande s’exécute une fois au moment de la compilation. | RUN python -m pip install -r requirements.txt |
CMD | La commande fournit la valeur par défaut pour l’exécution d’un conteneur. Il ne peut y avoir qu’une seule instruction CMD. | CMD ["gunicorn", "--bind", "0.0.0.0:5000", "wsgi:app"] |
La commande de build Docker génère des images Docker à partir d’un fichier Dockerfile et d’un contexte. Le contexte d’une build est l’ensemble de fichiers situés dans le chemin d’accès ou l’URL spécifiés. En règle générale, vous générez une image à partir de la racine de votre projet Python et le chemin d’accès de la commande build est « ». Comme indiqué dans l’exemple suivant.
docker build --rm --pull --file "Dockerfile" --tag "mywebapp:latest" .
Le processus de génération peut faire référence à l’un des fichiers dans le contexte. Par exemple, votre build peut utiliser une instruction COPY pour référencer un fichier dans le contexte. Voici un exemple de fichier Dockerfile pour un projet Python à l’aide de l’infrastructure Flask :
FROM python:3.8-slim
EXPOSE 5000
# Keeps Python from generating .pyc files in the container.
ENV PYTHONDONTWRITEBYTECODE=1
# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1
# Install pip requirements.
COPY requirements.txt .
RUN python -m pip install -r requirements.txt
WORKDIR /app
COPY . /app
# Creates a non-root user with an explicit UID and adds permission to access the /app folder.
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
# Provides defaults for an executing container; can be overridden with Docker CLI.
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "wsgi:app"]
Vous pouvez créer un fichier Dockerfile manuellement ou le créer automatiquement avec VS Code et l’extension Docker. Pour plus d’informations, consultez Génération de fichiers Docker.
La commande de build Docker fait partie de l’interface CLI Docker. Lorsque vous utilisez des EDI comme VS Code ou PyCharm, les commandes de l'interface utilisateur pour travailler avec des images Docker appellent la commande de build pour vous et automatisent la spécification des options.
Travailler avec les images et conteneurs Docker Python
VS Code et PyCharm
Les environnements de développement intégrés (IDE) tels que Visual Studio Code (VS Code) et PyCharm simplifient le développement de conteneurs Python en intégrant des tâches Docker dans votre flux de travail. Avec des extensions ou des plug-ins, ces ID simplifient la création d’images Docker, l’exécution de conteneurs et le déploiement sur des services Azure tels qu’App Service ou Container Instances. Voici quelques-unes des opérations que vous pouvez effectuer avec VS Code et PyCharm.
Téléchargez et générez des images Docker.
- Générez des images dans votre environnement de développement.
- Générez des images Docker dans Azure sans Docker installé dans l’environnement de développement. (Pour PyCharm, utilisez Azure CLI pour générer des images dans Azure.)
Créez et exécutez des conteneurs Docker à partir d’une image existante, d’une image extraite ou directement à partir d’un fichier Dockerfile.
Exécutez des applications multicontainer avec Docker Compose.
Connectez-vous et utilisez des registres de conteneurs tels que Docker Hub, GitLab, JetBrains Space, Docker V2 et d’autres registres Docker auto-hébergés.
(VS Code uniquement) Ajoutez un fichier Dockerfile et des fichiers docker compose qui sont adaptés à votre projet Python.
Pour configurer VS Code et PyCharm pour exécuter des conteneurs Docker dans votre environnement de développement, procédez comme suit.
Si ce n’est déjà fait, installez Azure Tools pour VS Code.
Les instructions | Capture d’écran |
---|---|
Étape 1 : Utilisez maj + alt + A pour ouvrir l’extension Azure et confirmer que vous êtes connecté à Azure. Vous pouvez également sélectionner l’icône Azure dans la barre d’extensions VS Code. Si vous n’êtes pas connecté, sélectionnez Se connecter à Azure et suivez les invites. Si vous ne parvenez pas à accéder à votre abonnement Azure, cela peut être dû au fait que vous êtes derrière un proxy. Pour résoudre les problèmes de connexion, consultez Connexions réseau dans Visual Studio Code. |
![]() ![]() |
Étape 2 : Utilisez Ctrl + Maj + X pour ouvrir les extensions, rechercher l’extension Docker et installer l’extension. Vous pouvez également sélectionner l’icône Extensions dans la barre d’extensions VS Code. |
![]() |
Étape 3 : Sélectionnez l’icône Docker dans la barre d’extension, développez des images, puis cliquez avec le bouton droit sur une image Docker pour l’exécuter en tant que conteneur. |
![]() |
Étape 4 : Surveiller la sortie de l’exécution Docker dans la fenêtre terminale . |
![]() |
Azure CLI et Docker CLI
Vous pouvez également utiliser des images et des conteneurs Docker Python à l’aide d’Azure CLI et de Docker CLI. VS Code et PyCharm ont des terminaux dans lesquels vous pouvez exécuter ces CLIs.
Utilisez une interface CLI lorsque vous souhaitez contrôler plus finement les arguments de génération et d’exécution, et pour l’automatisation. Par exemple, la commande suivante montre comment utiliser la build Azure CLI az acr pour spécifier le nom de l’image Docker.
az acr build --registry <registry-name> \
--resource-group <resource-group> \
--target pythoncontainerwebapp:latest .
Comme autre exemple, considérez la commande suivante qui montre comment utiliser la commande d’exécution de l’interface de ligne de commande Docker. L’exemple montre comment exécuter un conteneur Docker qui communique avec une instance MongoDB dans votre environnement de développement, en dehors du conteneur. Les différentes valeurs pour compléter la commande sont plus faciles à automatiser lorsqu'elles sont spécifiées sur une ligne de commande.
docker run --rm -it \
--publish <port>:<port> --publish 27017:27017 \
--add-host mongoservice:<your-server-IP-address> \
--env CONNECTION_STRING=mongodb://mongoservice:27017 \
--env DB_NAME=<database-name> \
--env COLLECTION_NAME=<collection-name> \
containermongo:latest
Pour plus d’informations sur ce scénario, consultez Générer et tester une application web Python en conteneur localement.
Variables d’environnement dans les conteneurs
Les projets Python utilisent généralement des variables d’environnement pour transmettre des données de configuration dans le code de l’application. Cette approche permet une plus grande flexibilité dans différents environnements. Par exemple, les détails de connexion de base de données peuvent être stockés dans des variables d’environnement, ce qui facilite le basculement entre les bases de données de développement, de test et de production sans modifier le code. Cette séparation de la configuration du code favorise des déploiements plus propres et améliore la sécurité et la maintenance.
Les packages tels que python-dotenv sont souvent utilisés pour lire des paires clé-valeur à partir d’un fichier .env et les définir en tant que variables d’environnement. Un fichier .env est utile lors de l’exécution dans un environnement virtuel, mais n’est pas recommandé lors de l’utilisation de conteneurs. Ne copiez pas le fichier .env dans l’image Docker, en particulier s’il contient des informations sensibles et que le conteneur sera rendu public. Utilisez le fichier .dockerignore pour exclure les fichiers d’être copiés dans l’image Docker. Pour plus d’informations, consultez la section Environnements virtuels et conteneurs dans cet article.
Vous pouvez transmettre des variables d’environnement à des conteneurs de plusieurs façons :
- Défini dans le fichier Dockerfile en tant qu’instructions ENV .
- Transmis en tant qu'arguments
--build-arg
avec la commande Docker build. - Transmises en tant qu’arguments
--secret
avec la commande Docker build et le backend BuildKit. - Transmis en tant qu’arguments
--env
--env-file
avec la commande Docker Run .
Les deux premières options présentent le même inconvénient que les fichiers .env , à savoir que vous décodez en dur des informations potentiellement sensibles dans une image Docker. Vous pouvez inspecter une image Docker et voir les variables d’environnement, par exemple, avec la commande docker image inspect.
La troisième option avec BuildKit vous permet de transmettre des informations secrètes à utiliser dans le fichier Dockerfile pour créer des images Docker de manière sécurisée qui ne seront pas stockées dans l’image finale.
La quatrième option de transmission de variables d’environnement avec la commande Docker Run signifie que l’image Docker ne contient pas les variables. Toutefois, les variables sont toujours visibles lors de l’inspection de l’instance de conteneur (par exemple, avec docker container inspect). Cette option peut être acceptable lorsque l’accès à l’instance de conteneur est contrôlé ou dans des scénarios de test ou de développement.
Voici un exemple de passage de variables d’environnement à l’aide de la commande d’exécution docker CLI et de l’argument --env
.
# PORT=8000 for Django and 5000 for Flask
export PORT=<port-number>
docker run --rm -it \
--publish $PORT:$PORT \
--env CONNECTION_STRING=<connection-info> \
--env DB_NAME=<database-name> \
<dockerimagename:tag>
Dans VS Code (extension Docker) ou PyCharm (plug-in Docker), les outils d’interface utilisateur simplifient la gestion des images et des conteneurs Docker en exécutant des commandes docker CLI standard (telles que docker build, docker run) en arrière-plan.
Enfin, la spécification de variables d’environnement lors du déploiement d’un conteneur dans Azure est différente de l’utilisation de variables d’environnement dans votre environnement de développement. Par exemple:
Pour Web App for Containers, vous configurez les paramètres d’application lors de la configuration d’App Service. Ces paramètres sont accessibles au code de votre application en tant que variables d’environnement à l’aide du modèle os.environ standard. Vous pouvez modifier les valeurs après le déploiement initial si nécessaire. Pour plus d’informations, consultez Paramètres d’application Access en tant que variables d’environnement.
Pour Azure Container Apps, vous configurez des variables d’environnement lors de la configuration initiale de l’application conteneur. La modification ultérieure des variables d’environnement crée une révision du conteneur. En outre, Azure Container Apps vous permet de définir des secrets au niveau de l’application, puis de les référencer dans des variables d’environnement. Pour plus d’informations, consultez Gérer les secrets dans Azure Container Apps.
En guise d’autre option, vous pouvez utiliser Service Connector pour vous aider à connecter des services de calcul Azure à d’autres services de stockage. Ce service configure les paramètres réseau et les informations de connexion (par exemple, la génération de variables d’environnement) entre les services de calcul et les services de stockage cible dans le plan de gestion.
Affichage des journaux de conteneurs
Affichez les journaux d'instance de conteneur pour voir les messages de diagnostic générés par le code et résoudre les problèmes dans celui-ci. Voici plusieurs méthodes pour afficher les journaux lors de l’exécution d’un conteneur dans votre environnement de développement :
Lorsque vous exécutez un conteneur avec VS Code ou PyCharm, comme indiqué dans la section VS Code et PyCharm, vous pouvez voir les journaux dans les fenêtres de terminal qui s'ouvrent lors de l'exécution de Docker.
Si vous utilisez la commande run du Docker CLI avec l'indicateur
-it
interactif, vous verrez le résultat s'afficher après la commande.Dans Docker Desktop, vous pouvez également afficher les journaux d’activité d’un conteneur en cours d’exécution.
Lorsque vous déployez un conteneur dans Azure, vous avez également accès aux journaux de conteneur. Voici plusieurs services Azure et comment accéder aux journaux de conteneur dans le portail Azure.
Service d'Azure | Comment accéder aux journaux d’activité dans le portail Azure |
---|---|
Application web pour conteneurs | Accédez à la ressource Diagnostiquer et résoudre les problèmes pour afficher les journaux. Diagnostics est une expérience intelligente et interactive pour vous aider à résoudre les problèmes de votre application sans configuration requise. Pour une vue en temps réel des journaux, accédez au flux MonitoringLog - . Pour obtenir des requêtes et une configuration de journal plus détaillées, consultez les autres ressources sous Surveillance. |
Azure Container Apps (Applications de Conteneur Azure) | Accédez à la ressource d’environnement Diagnostiquer et résoudre les problèmes pour résoudre les problèmes d’environnement. Souvent, vous souhaitez consulter les logs des conteneurs. Dans la ressource de conteneur, sous Application - Gestion des révisions, sélectionnez la révision, et à partir de là, vous pouvez afficher les journaux système et console. Pour obtenir des requêtes et une configuration de journal plus détaillées, consultez les ressources sous Surveillance. |
Azure Container Instances (Instances de Conteneur Azure) | Accédez à la ressource Conteneurs et sélectionnez Journaux. |
Pour ces services, voici les commandes Azure CLI permettant d’accéder aux journaux.
Service d'Azure | Commande Azure CLI pour accéder aux journaux d’activité |
---|---|
Application web pour conteneurs | az webapp log |
Azure Container Apps (Applications de Conteneur Azure) | az containerapps logs |
Azure Container Instances (Instances de Conteneur Azure) | az container logs |
La visualisation des journaux d’activité dans VS Code est également prise en charge. Vous devez avoir les outils Azure pour VS Code installés. Vous trouverez ci-dessous un exemple d’affichage des journaux d’activité des applications Web pour conteneurs (App Service) dans VS Code.