Partager via


Résoudre les problèmes de développement Visual Studio avec Docker

S'applique à : Visual Studio

Lorsque vous travaillez avec Visual Studio Container Tools, vous pouvez rencontrer des problèmes lors de la génération ou du débogage de votre application. Cet article présente certaines étapes de dépannage courantes pour ces problèmes.

Le partage de volume n’est pas activé. Activer le partage de volumes dans Docker CE pour les paramètres de Windows (conteneurs Linux uniquement)

Vous devez uniquement gérer le partage de fichiers si vous utilisez Hyper-V avec Docker. Si vous utilisez WSL 2, vous n’avez pas besoin de suivre les étapes décrites dans cette section et l’option de partage de fichiers n’est pas visible. Pour résoudre ce problème :

  1. Cliquez avec le bouton droit sur Docker pour Windows dans la zone de notification, puis sélectionnez Settings.

  2. Sélectionnez RessourcesPartage de fichiers et partagez le dossier à accéder. Le partage de l’ensemble de votre lecteur système est possible, mais pas recommandé.

    Capture d’écran des lecteurs partagés.

Conseil

Visual Studio vous informe quand Lecteurs partagés ne sont pas configurés.

Problèmes liés aux chemins d’accès sur les conteneurs Windows

Lorsque vous utilisez des chemins d’accès de fichier spécifiques à Linux sur un conteneur Windows, vous pouvez rencontrer différentes erreurs d’entrée ou de sortie de fichier (E/S). Si vous voyez ces erreurs, vérifiez la valeur de la variable d’environnement. Si la variable est définie, Visual Studio tente d’utiliser des chemins d’accès Sous-système Windows pour Linux (WSL) pour faire référence aux fichiers Windows pour la création de volumes. Cette approche est nécessaire pour Docker dans WSL, mais elle ne fonctionne pas avec Docker Desktop sur Windows. Annulez toujours cette variable d’environnement si vous utilisez des conteneurs Windows.

Impossible de démarrer le débogage

Une des raisons de ce problème est la présence de composants de débogage périmés dans votre dossier de profil utilisateur. Exécutez les commandes suivantes pour supprimer ces dossiers afin que les derniers composants de débogage soient téléchargés dans la session de débogage suivante.

  • del %userprofile%\vsdbg
  • del %userprofile%\onecoremsvsmon

Erreurs de réseau lors du débogage de votre application

Essayez d'exécuter le script téléchargeable depuis Cleanup Container Host Networking, qui rafraîchit les composants réseau sur votre machine hôte.

Points de montage refusés

Lorsque vous utilisez Docker pour macOS, vous pouvez rencontrer une erreur référençant le dossier /usr/local/share/dotnet/sdk/NuGetFallbackFolder. Ajoutez le dossier à l’onglet Partage de fichiers dans Docker.

Groupe d’utilisateurs Docker

Vous pouvez rencontrer l’erreur suivante dans Visual Studio lors de l’utilisation de conteneurs :

L’utilisateur actuel doit se trouver dans le groupe « docker-users » pour utiliser Docker Desktop. Ajoutez-vous au groupe « docker-users », puis déconnectez-vous de Windows.

Vous devez être membre du groupe « docker-users » pour disposer des autorisations nécessaires pour travailler avec des conteneurs Docker. Pour vous ajouter au groupe dans Windows 10 ou une version ultérieure, procédez comme suit :

  1. Dans le menu Démarrer, ouvrez Gestion de l’ordinateur.
  2. Développez Utilisateurs et groupes locaux, puis sélectionnez Groupes.
  3. Recherchez le groupe docker-users, cliquez avec le bouton droit et sélectionnez Ajouter au groupe.
  4. Ajoutez votre ou vos comptes d’utilisateur.
  5. Déconnectez-vous et reconnectez-vous pour que ces modifications prennent effet.

Vous pouvez également utiliser la commande à l’invite de commandes Administrateur pour ajouter des utilisateurs à des groupes spécifiques.

net localgroup docker-users DOMAIN\username /add

Dans PowerShell, utilisez la fonction Add-LocalGroupMember.

Espace disque insuffisant

Par défaut, Docker stocke des images dans le dossier %ProgramData%/Docker/ , qui se trouve généralement sur le lecteur système, C :\ProgramData\Docker\. Pour éviter que les images n’occupent un espace précieux sur le lecteur système, vous pouvez modifier l’emplacement du dossier d’images. Pour modifier l’emplacement :

  1. Cliquez avec le bouton droit sur l’icône Docker dans la barre des tâches, puis sélectionnez Paramètres.

  2. Sélectionnez Moteur Docker.

  3. Dans le volet d’édition, ajoutez le paramètre de propriété avec la valeur de l’emplacement souhaité pour les images Docker :

       "graph": "D:\\mypath\\images"
    

    Capture d’écran du partage de fichiers Docker.

  4. Sélectionnez Appliquer & Redémarrer. Ces étapes modifient le fichier de configuration dans %ProgramData%\docker\config\daemon.json. Les images créées précédemment ne sont pas déplacées.

Incompatibilité de type de conteneur

Lorsque vous ajoutez la prise en charge de Docker à un projet, vous choisissez un Windows ou un conteneur Linux. Si l’hôte Docker Server n’est pas configuré pour exécuter le même type de conteneur que la cible du projet, vous voyez une erreur similaire à :

Capture d’écran de l’incompatibilité de l’hôte Docker et du projet.

Pour résoudre ce problème, cliquez avec le bouton droit sur l’icône Docker pour Windows dans la barre d’état système, puis sélectionnez Passer aux conteneurs Windows... ou Passer aux conteneurs Linux....

ContainerToolsPackage ou DockerComposePackage ne se chargent pas correctement

Un cache MEF (Managed Extensibility Framework) endommagé peut entraîner ce problème. Pour résoudre ce problème, supprimez le dossier ComponentModelCache de votre instance de Visual Studio.

  1. Fermez toutes les instances de Visual Studio.

  2. Exécutez la commande PowerShell suivante pour supprimer le dossier ComponentModelCache :

    Get-ChildItem -Path "$(Join-Path $Env:LOCALAPPDATA "Microsoft\VisualStudio")" -Recurse -Include "ComponentModelCache" | Remove-Folder
    

Vous pouvez également supprimer le dossier manuellement :

  1. Ouvrez %localappdata%\Microsoft\VisualStudio dans l’Explorateur de fichiers.
  2. Ouvrez le sous-dossier qui correspond à votre version de Visual Studio (par exemple, 18.0_b653d53f).
  3. Supprimez le dossier ComponentModelCache .

Autres problèmes

Pour tout autre problème que vous rencontrez, consultez Microsoft/DockerTools.

Références

  • Messages d’erreur Container Tools