149 votes

Paramètres du pare-feu Windows pour permettre à Docker pour Windows de partager un lecteur

Le pare-feu Windows bloque ma tentative d'autoriser Docker pour Windows à partager C : sur une machine Windows 10.

Fonctionne bien lorsque le pare-feu Windows est désactivé. Lorsqu'il est activé, j'obtiens

Un pare-feu bloque le partage de fichiers entre Windows et les conteneurs. Voir la documentation pour plus d'informations.

La documentation indique

Vous n'avez pas besoin d'ouvrir le port 445 sur un autre réseau. Par défaut, autoriser les connexions au port 445 de 10.0.75.1 (l'hôte Windows) à partir de 10.0.75.2 (la machine virtuelle).

Je n'arrive pas à trouver comment faire. Quelqu'un peut-il me conseiller ?

20 votes

Le VPN Cisco AnyConnect le bloquait pour moi, après avoir quitté le VPN, cela a fonctionné.

2 votes

Cisco me bloque mais j'ai BESOIN d'être sur le VPN et d'avoir le partage de Docker... Une idée ?

1 votes

J'ai suivi cette procédure pour Norton Firewall et cela a parfaitement fonctionné. stackoverflow.com/questions/45159006/

153voto

David Tesar Points 996

Vous n'avez pas besoin de partager le lecteur C, mais seulement de réinstaller (ou peut-être même de décocher - cliquer sur OK - puis cocher) le service de partage de fichiers et d'impressions sur la carte réseau virtuelle Hyper-V. Voir cet article.

En outre, si vos profils réseau sont soumis à des restrictions (c'est-à-dire publics), envisagez de modifier le "réseau non identifié" par défaut pour la carte "vEthernet (DockerNAT)" en privé via cette commande PowerShell avant de procéder à l'opération ci-dessus :

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

4 votes

J'ai dû fermer Docker pour Windows et le redémarrer après avoir exécuté la commande Powershell ci-dessus. Vous pouvez exécuter Get-NetConnectionProfile pour s'assurer que le DockerNAT est dans le Private catégorie

1 votes

Le lien vers blog.olandese.nl/2017/05/03/ a résolu mon problème. Merci beaucoup !

1 votes

Aucun d'entre eux n'a fonctionné pour moi, alors j'ai essayé : stackoverflow.com/a/47837191/1895627

74voto

Ok, donc après avoir rencontré le même problème, j'ai trouvé une solution.

C'est ce que j'ai fait :


Étape 1 : Ouvrez ESET. Puis cliquez sur Configuration

click setup

Étape 2 : Cliquez sur Protection du réseau

click network protection

Étape 3 : Cliquez sur Assistant de dépannage

click troubleshooting wizard

Étape 4 : Trouvez la communication 10.0.75.2 (Paramètre IP par défaut de docker) Vérifiez simplement quelle est la plage d'adresses IP définie dans les paramètres de votre docker. Puis recherchez l'IP qui se trouve dans cette plage.

find the connection

Étape 5 : Cliquez sur le bouton Débloquer vous devriez recevoir cet écran.

click unblock

Cela a résolu le problème pour moi.

Vous pouvez ensuite aller dans les Règles et vérifier la règle qui a été ajoutée.


PS : Il s'agit de mon premier message, désolé pour les éventuelles erreurs de procédure.

0 votes

Ce post a été extrêmement utile pour moi, parce que lorsque j'ai ajouté les règles comme expliqué dans les docs, les adresses IP mentionnées étaient différentes. Bon courage !

12 votes

Pour tous les utilisateurs d'ESET là-bas, ce est la solution, merci !

2 votes

Une excellente contribution de Franche Van Den Berg, merci. C'est en effet la solution pour les utilisateurs d'ESET, et une solution très élégante.

64voto

kostia24 Points 231

Seule cette solution m'aide :

  • Allez dans Hyper-V Manager -> Virtual Switch Manager -> DockerNAT -> Connection Type : changez de interne à privé, appliquez, changez de nouveau à interne, appliquez.
  • Redémarrer MobyLinuxVM
  • Redémarrer Docker
  • Définissez le profil réseau de Docker sur 'Private'. Exécutez la commande dans PowerShell en tant qu'administrateur
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Réinitialiser le partage de fichiers et d'imprimantes pour les réseaux Microsoft sur une connexion DockerNAT
  • Allez dans Docker -> Paramètres -> Lecteurs partagés et partagez C :

6 votes

Cela vaut la peine de mentionner que Set-NetConnectionProfile doit être exécuté dans PowerShell en tant qu'administrateur et non en Cmd normal. Cela fonctionne bien pour moi mais l'adaptateur Ethernet est toujours unidentified network

3 votes

Bombardement de tapis FTW. Aucune des autres solutions n'a fonctionné. Merci.

0 votes

Cela a fonctionné à 100%. Aucune des autres options n'a fonctionné cette fois-ci et la solution ultime a été de définir le réseau comme privé.

59voto

ianaz Points 594

Ma solution a été de me déconnecter du VPN, qui était à l'origine du problème.

2 votes

J'ai également résolu le problème en me déconnectant de mon VPN, ce que je n'ai bien sûr pas essayé avant d'avoir épuisé toutes les autres possibilités. soupir

0 votes

J'ai cherché pendant la moitié de la journée et j'avais juste besoin de me déconnecter du VPN Merci !

1 votes

Une solution simple Merci !

28voto

jiminikiz Points 58

Je n'utilisais pas de pare-feu tiers lorsque j'ai rencontré cette erreur. J'étais convaincu qu'il s'agissait d'un problème de pare-feu Windows, bien que la désactivation de ce dernier n'ait pas fonctionné pour moi. J'ai finalement trouvé cet article de blog après de nombreuses recherches : Erreur de Docker sur Windows 10 : Un pare-feu bloque le partage de fichiers ...

Il a fini par PAS en rapport avec le pare-feu intégré de Windows.

The Fix

  1. Décochez Partage de fichiers et d'imprimantes pour les réseaux Microsoft de la vEthernet (DockerNAT) l'adaptateur réseau (vous pouvez trouver la connexion dans la fenêtre Windows Centre de réseau et de partage ).
  2. Revérifier et assurez-vous qu'il est activé.

0 votes

Cela a parfaitement fonctionné pour moi, merci !

0 votes

Apparemment, ça a marché pour moi aussi. J'ai vérifié le pare-feu Windows et j'avais déjà la règle correcte, probablement pré-installée par docker lui-même.

0 votes

Il serait intéressant de savoir pourquoi cela fonctionne et quelle est la cause première du problème. Il semble que cela se produise fréquemment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X