Partager via


Configurer les outils de conteneur de Visual Studio

Vous pouvez contrôler certains aspects de l’utilisation de Visual Studio avec des conteneurs Docker à l’aide des paramètres Container Tools . Cet article explique comment configurer des paramètres Container Tools qui peuvent affecter les performances et l’utilisation des ressources de Visual Studio lorsque vous travaillez avec des conteneurs Docker.

Prerequisites

Prerequisites

  • Docker Desktop.
  • Visual Studio avec la charge de travail de développement ASP.NET et web, la charge de travail de développement Azure et/ou la charge de travail de développement de bureau .NET installée.

Paramètres des outils de conteneur

Pour accéder aux paramètres, sélectionnez Options d’outils > dans le menu principal de Visual Studio. Dans le volet gauche, faites défiler vers le bas et développez Container Tools.

Paramètres généraux

Capture d’écran des options Visual Studio Container Tools.

Le tableau suivant décrit les paramètres généraux :

Réglage Valeur par défaut Descriptif
Installer Docker Desktop si nécessaire Me rappeler Choisissez si vous souhaitez être invité si Docker Desktop n’est pas installé.
Démarrer Docker Desktop si nécessaire Me rappeler Si Docker Desktop n’est pas démarré, choisissez s’il faut le démarrer automatiquement ou s'il faut vous demander.
Faire confiance au certificat SSL ASP.NET Core Me rappeler Indiquez s’il faut demander si le localhost certificat SSL n’est pas approuvé dans un projet ASP.NET Core.

Capture d’écran des options Visual Studio Container Tools.

Le tableau suivant décrit les paramètres généraux :

Réglage Valeur par défaut Descriptif
Invite à installer le runtime de conteneur lorsqu’il n’est pas installé Enabled Indiquez si vous souhaitez être invité si Docker Desktop ou Podman n’est pas installé.
Demande d'approbation du certificat SSL ASP.NET Core Indiquez s’il faut demander si le localhost certificat SSL n’est pas approuvé dans un projet ASP.NET Core.
Démarrer le runtime de conteneur si nécessaire Me rappeler Si Docker Desktop ou Podman n’est pas démarré, choisissez de le démarrer automatiquement ou de vous demander.
Runtime de conteneur Auto Choisissez le runtime de conteneur ; Docker et Podman sont pris en charge. ChoisissezAuto si vous souhaitez que Visual Studio détecte le runtime que vous utilisez.

Important

Si vous définissez le Certificat SSL ASP.NET Core de confiance sur Jamais et que le certificat SSL n'est pas approuvé, les requêtes HTTPS risquent d'échouer pendant l'exécution localhost. Dans ce cas, définissez le certificat SSL ASP.NET Core sur M'inviter à confirmer, exécutez votre projet et indiquez votre approbation à l'invite.

Paramètres d'un Projet Unique ou de Docker Compose

Les paramètres Projet unique et Docker Compose des outils de conteneur sont identiques.

Capture d’écran des options des outils de conteneurs dans Visual Studio 2022.

Le tableau suivant décrit les paramètres Projet unique et Docker Compose :

Réglage Valeur par défaut Descriptif
Télécharger les images Docker requises à l'ouverture du projet Vrai Déterminer s’il faut démarrer en arrière-plan une opération d’extraction Docker lors du chargement d’un projet de conteneurs. Les images requises ont été téléchargées ou sont en cours de téléchargement lorsque vous êtes prêt à exécuter votre code. Si vous souhaitez simplement parcourir le code, vous pouvez définir la valeur False pour éviter de télécharger des images conteneur dont vous n’avez pas besoin.
Importer des images Docker mises à jour lors de l'ouverture du projet. Projets .NET Core Si l'on doit exécuter une commande Docker pull pour toutes les images sur des projets ouverts afin d'obtenir les dernières mises à jour.
Exécuter des conteneurs sur le projet ouvert Vrai Décider de créer un conteneur lors du chargement d’un projet de conteneur, afin qu'il soit prêt lorsque vous le construisez et l'exécutez. Si vous préférez contrôler quand votre conteneur est créé, définissez la valeur False.
Supprimer des conteneurs à la clôture du projet Vrai Si vous souhaitez supprimer des conteneurs pour votre solution après avoir fermé la solution ou fermé Visual Studio.
Exécuter un service dans des conteneurs pour activer l’authentification Azure Vrai Pour Visual Studio version 17.6 ou ultérieure, qu'il faut installer et exécuter un service proxy de jeton dans le conteneur pour permettre l'authentification Azure. Ce service permet à vos applications d’utiliser des services Azure pendant le développement. Pour plus d’informations, consultez la section Configurer l’authentification Azure .
Exécuter un service dans des conteneurs pour activer le rechargement à chaud Vrai Pour Visual Studio version 17.7 et ultérieures, indiquez s’il faut installer et exécuter le service de rechargement à chaud. Ce service prend uniquement en charge l’exécution sans débogage, Ctrl+F5.

Les paramètres suivants dans la section Conteneur Warmup contrôlent la façon dont Visual Studio optimise les performances en démarrant les services et en préparant des images avant l’utilisation prévue.

Réglage Valeur par défaut Descriptif
Télécharger les images requises lors de l'ouverture du projet Enabled Déterminer s’il faut démarrer en arrière-plan une opération d’extraction Docker lors du chargement d’un projet de conteneurs. Les images requises ont été téléchargées ou sont en cours de téléchargement lorsque vous êtes prêt à exécuter votre code. Si vous souhaitez simplement parcourir le code, vous pouvez définir la valeur False pour éviter de télécharger des images conteneur dont vous n’avez pas besoin.
Exécuter des conteneurs sur le projet ouvert Vrai Décider de créer un conteneur lors du chargement d’un projet de conteneur, afin qu'il soit prêt lorsque vous le construisez et l'exécutez. Si vous préférez contrôler quand votre conteneur est créé, définissez la valeur False.
Supprimer des conteneurs à la clôture du projet Vrai Si vous souhaitez supprimer des conteneurs pour votre solution après avoir fermé la solution ou fermé Visual Studio.

Les paramètres suivants s’affichent dans la section Débogage :

Réglage Valeur par défaut Descriptif
Exécuter un service dans des conteneurs pour activer l’authentification Azure Enabled Indique s’il faut installer et exécuter un service proxy de jeton dans le conteneur pour activer l’authentification Azure. Ce service permet à vos applications d’utiliser des services Azure pendant le développement. Pour plus d’informations, consultez la section Configurer l’authentification Azure .
Exécuter un service dans des conteneurs pour activer le rechargement à chaud Enabled Indique s’il faut installer et exécuter le service de rechargement à chaud. Ce service prend uniquement en charge l’exécution sans débogage, Ctrl+F5.

Paramètres de la fenêtre Conteneurs

Les paramètres de la fenêtre Conteneurs s’appliquent à la fenêtre Conteneurs dans l’IDE Visual Studio, qui affiche des informations sur les conteneurs et les images Docker. Pour plus d’informations, consultez la fenêtre Utiliser les conteneurs.

Capture d’écran des options Visual Studio Container Tools, montrant les paramètres disponibles pour la fenêtre Conteneurs.

Le tableau suivant décrit les paramètres de la fenêtre Conteneurs :

Réglage Valeur par défaut Descriptif
Confirmer avant la suppression des conteneurs Toujours Indique si une demande doit vous être adressée lors de la suppression des conteneurs inutilisés.
Confirmer avant la suppression des images Toujours Faut-il vous avertir lors de l’élagage des images inutilisées ?
Confirmer avant de supprimer un conteneur Toujours Si vous souhaitez être informé lors de la suppression d’un conteneur.
Confirmer avant de supprimer une image Toujours Indique s’il faut vous demander une confirmation lors de la suppression d’une image.
Confirmer avant d’exécuter un grand nombre d’images Toujours Indique s'il faut vous demander confirmation avant de lancer des conteneurs dépassant 10 images à la fois.
Afficher le format de chaîne à utiliser dans la fenêtre Conteneurs Vide Format de chaîne d’affichage à utiliser dans la fenêtre Conteneurs, avec prise en charge des jetons {ContainerName}, {ImageName}, {ProjectName} et {ContainerID}.
Regrouper des conteneurs par le projet Docker Compose Toujours Indique s’il faut regrouper des conteneurs par le projet Docker Compose dont ils font partie.

Configurer l’authentification Azure

Si votre application utilise des services Azure, elle a besoin d’informations d’identification appropriées pour s’authentifier auprès des services Azure lorsqu’elle s’exécute dans un conteneur. Vous pouvez généralement utiliser vos propres informations d’identification Azure pendant le développement, mais pour s’exécuter dans l’environnement conteneur, l’application conteneurisée nécessite les informations d’identification qu’elle utilise en production.

Visual Studio 2022 version 17.6 et ultérieures déploie et exécute un service proxy de jeton dans vos projets Docker Compose et monoconteneur pour aider vos applications et services à s’authentifier sur Azure. La fonctionnalité nécessite Azure Identity 1.9.0 ou version ultérieure.

Avec ce service activé, vous pouvez utiliser automatiquement la plupart des services Azure au sein du conteneur sans configuration ou configuration ajoutée. Votre code peut utiliser DefaultAzureCredential et VisualStudioCredential s’authentifier auprès des services Azure de la même façon qu’en dehors d’un conteneur. Pour plus d’informations, consultez Azure Identity 1.9.0 README.

Pour désactiver cette fonctionnalité, définissez Exécuter un service dans des conteneurs pour activer l’authentification Azure sur False dans les paramètres Projet unique d’Outils de conteneur ou Docker Compose.

Avertissement

L’utilisation du proxy de jeton et l’activation de certains journaux de diagnostic présentent un problème de sécurité potentiel. Ces journaux d’activité peuvent exposer les informations d’identification d’authentification sous forme de texte brut. Les variables d’environnement suivantes activent ces journaux :

  • Pour les projets de conteneur uniques, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, qui se connecte à %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Pour les projets Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, qui s'authentifie sur %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Paramètres de la fenêtre Conteneurs

Les paramètres de la fenêtre Conteneurs s’appliquent à la fenêtre Conteneurs dans l’IDE Visual Studio, qui affiche des informations sur les conteneurs et les images Docker. Pour plus d’informations, consultez la fenêtre Utiliser les conteneurs.

Le tableau suivant décrit les paramètres de la fenêtre Conteneurs :

Réglage Valeur par défaut Descriptif
Confirmer avant la suppression des conteneurs Enabled Indique si une demande doit vous être adressée lors de la suppression des conteneurs inutilisés.
Confirmer avant la suppression des images Enabled Faut-il vous avertir lors de l’élagage des images inutilisées ?
Confirmer avant de supprimer un conteneur Enabled Si vous souhaitez être informé lors de la suppression d’un conteneur.
Confirmer avant de supprimer une image Enabled Indique s’il faut vous demander une confirmation lors de la suppression d’une image.
Confirmer avant d’exécuter un grand nombre d’images Enabled Indique s'il faut vous demander confirmation avant de lancer des conteneurs dépassant 10 images à la fois.
Afficher le format de chaîne à utiliser dans la fenêtre Conteneurs Vide Format de chaîne d’affichage à utiliser dans la fenêtre Conteneurs, avec prise en charge des jetons {ContainerName}, {ImageName}, {ProjectName} et {ContainerID}.
Regrouper des conteneurs par le projet Docker Compose Enabled Indique s’il faut regrouper des conteneurs par le projet Docker Compose dont ils font partie.

Configurer l’authentification Azure

Si votre application utilise des services Azure, elle a besoin d’informations d’identification appropriées pour s’authentifier auprès des services Azure lorsqu’elle s’exécute dans un conteneur. Vous pouvez généralement utiliser vos propres informations d’identification Azure pendant le développement, mais pour s’exécuter dans l’environnement conteneur, l’application conteneurisée nécessite les informations d’identification qu’elle utilise en production.

Visual Studio déploie et exécute un service proxy de jeton dans vos projets à conteneur unique et Docker Compose pour aider vos applications et services à s’authentifier sur Azure. La fonctionnalité nécessite Azure Identity 1.9.0 ou version ultérieure.

Avec ce service activé, vous pouvez utiliser automatiquement la plupart des services Azure au sein du conteneur sans configuration ou configuration ajoutée. Votre code peut utiliser DefaultAzureCredential et VisualStudioCredential s’authentifier auprès des services Azure de la même façon qu’en dehors d’un conteneur. Pour plus d’informations, consultez Azure Identity 1.9.0 README.

Pour désactiver cette fonctionnalité, définissez Exécuter un service dans des conteneurs pour activer l’authentification Azure sur False dans les paramètres Projet unique d’Outils de conteneur ou Docker Compose.

Avertissement

L’utilisation du proxy de jeton et l’activation de certains journaux de diagnostic présentent un problème de sécurité potentiel. Ces journaux d’activité peuvent exposer les informations d’identification d’authentification sous forme de texte brut. Les variables d’environnement suivantes activent ces journaux :

  • Pour les projets de conteneur uniques, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, qui se connecte à %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Pour les projets Docker Compose, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, qui s'authentifie sur %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.