Einstellungen für die Windows-Firewall, damit Docker für Windows das Laufwerk freigeben kann


139

Die Windows-Firewall blockiert meinen Versuch, Docker für Windows die Freigabe von C: auf einem Windows 10-Computer zu ermöglichen.

Funktioniert einwandfrei, wenn die Windows-Firewall ausgeschaltet ist. Wenn es an ist, bekomme ich

Eine Firewall blockiert die Dateifreigabe zwischen Windows und den Containern. Weitere Informationen finden Sie in der Dokumentation.

Die Dokumentation sagt

Sie müssen Port 445 in keinem anderen Netzwerk öffnen. Erlauben Sie standardmäßig Verbindungen zu 10.0.75.1 Port 445 (dem Windows-Host) von 10.0.75.2 (der virtuellen Maschine).

Ich bin "gegoogelt", wenn ich versuche herauszufinden, wie das geht - kann jemand raten?


20
Cisco AnyConnect VPN hat dies für mich blockiert. Nach dem Beenden des VPN hat es funktioniert.
Chris Wolf

1
Ich habe Cisco, das mich blockiert, aber ich MUSS im VPN sein und Docker teilen ... Irgendwelche Ideen?
Nicolas Irisarri

1
Ich folgte diesem für Norton Firewall und es funktionierte perfekt stackoverflow.com/questions/45159006/…
Robin Sanner

Siehe unten Beitrag, der diese Frage beantwortet superuser.com/questions/1470821/…
Aravind S

1
@NicolasIrisarri: Ich habe das gleiche Problem gelöst (beide müssen gleichzeitig verwendet werden). Die Lösung besteht darin, ein anderes Subnetz als das von AnyConnect gesicherte zu verwenden. Siehe meine Antwort unten: stackoverflow.com/a/58406873/9064636
Averell

Antworten:


151

Sie müssen das Laufwerk C nicht freigeben, sondern müssen nur den Datei- und Druckfreigabedienst auf der virtuellen Hyper-V-Netzwerkkarte neu installieren (oder möglicherweise sogar deaktivieren - klicken Sie auf OK - und dann aktivieren). Siehe diesen Artikel.

Wenn Ihre Netzwerkprofile Einschränkungen aufweisen (z. B. öffentlich), sollten Sie die Standardeinstellung "nicht identifiziertes Netzwerk" für die Karte "vEthernet (DockerNAT)" über diesen PowerShell-Befehl in "privat" ändern, bevor Sie die folgenden Schritte ausführen:

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

4
Ich musste Docker für Windows schließen und neu starten, nachdem ich den obigen Powershell-Befehl ausgeführt hatte. Sie können ausführen, Get-NetConnectionProfileum sicherzustellen, dass das DockerNATNetzwerk in der PrivateKategorie
Seangwright

1
Der Link zu blog.olandese.nl/2017/05/03/… hat mein Problem gelöst. Danke vielmals!
Andrie

1
Keines davon hat bei mir funktioniert, also habe ich es versucht: stackoverflow.com/a/47837191/1895627
Andrei

3
Ich kann das nicht deinstallieren, ich bekomme eine Fehlermeldung 0x80071779, ich habe versucht zu deaktivieren -> aktivieren. Auch Firewall deaktiviert ... Ich habe auch versucht, auf privat zu setzen, funktioniert immer noch nicht, irgendwelche Ideen?
BrunoLM

2
Deinstallieren Sie den Datei- und Druckfreigabedienst:Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Marcel DB

73

Ok, nachdem ich das gleiche Problem ausgeführt habe, habe ich eine Lösung gefunden.

Das habe ich getan:


Schritt 1: Öffnen Sie ESET. Klicken Sie dann auf Setup

Klicken Sie auf Setup

Schritt 2: Klicken Sie auf Netzwerkschutz

Klicken Sie auf Netzwerkschutz

Schritt 3: Klicken Sie auf Fehlerbehebungsassistent

Klicken Sie auf Fehlerbehebungsassistent

Schritt 4: Suchen der Kommunikation 10.0.75.2 (Standard-Docker-IP-Einstellung) Überprüfen Sie einfach, was der IP-Bereich in Ihren Docker-Einstellungen definiert ist. Suchen Sie dann nach der IP, die sich in diesem Bereich befindet.

Finde die Verbindung

Schritt 5: Klicken Sie auf die Schaltfläche Entsperren , dann sollte dieser Bildschirm angezeigt werden.

Klicken Sie auf Entsperren

Dies löste das Problem für mich.

Sie können dann zu den Regeln gehen und die hinzugefügte Regel überprüfen.


PS: Dies ist mein erster Beitrag. Entschuldigung für falsche Verfahren.


Bitte beachten Sie: Die Links, die ich hinzugefügt habe, haben ein (Leerzeichen) nach "http: //". Entfernen Sie einfach das Leerzeichen, dann sollten Sie das Bild erhalten. Links von Bildern mit diesem Profil konnten nicht gepostet werden. Es tut uns leid.
Franche Van Den Berg

Dieser Beitrag war für mich äußerst nützlich, da beim Hinzufügen der in den Dokumenten erläuterten Regeln die genannten IP-Adressen unterschiedlich waren. Ging bezig!
DelphiLynx

11
Für alle ESET-Benutzer da draußen ist dies die Lösung, danke!
Cudacoder

2
Ein ausgezeichneter Beitrag von Franche Van Den Berg, danke. Dies ist in der Tat die Lösung für ESET-Benutzer und eine sehr elegante.
Vacilando

Stellen Sie für ESET sicher, dass sich das Docker-Netzwerk in der Trusted Zone befindet
WhiteKnight

63

Nur diese Lösung hilft mir:

  • Gehen Sie zu Hyper-V Manager -> Virtual Switch Manager -> DockerNAT -> Verbindungstyp: Von intern zu privat wechseln, anwenden, wieder zu intern wechseln, anwenden
  • Starten Sie MobyLinuxVM neu
  • Starten Sie Docker neu
  • Setzen Sie das Docker-Netzwerkprofil auf "Privat". Führen Sie den Befehl in PowerShell als Administrator aus
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Zurücksetzen der Datei- und Druckerfreigabe für Microsoft-Netzwerke über die DockerNAT-Verbindung
  • Gehen Sie zu Docker -> Einstellungen -> Freigegebene Laufwerke und teilen Sie C:

6
Es lohnt sich, eine Metionierung vorzunehmen, Set-NetConnectionProfiledie in PowerShell als Administrator und nicht als normaler Befehl ausgeführt werden soll. Es funktioniert gut für mich, aber der Ethernet-Adapter ist immer nochunidentified network
DarkMukke

3
Teppichbombe FTW. Keine der anderen Lösungen funktionierte. Vielen Dank.
David West

Dies funktionierte zu 100%. Keine der anderen Optionen funktionierte diesmal und die ultimative Lösung bestand darin, das Netzwerk auf Privat zu setzen.
Lord

Danke, Mann! Du hast meinen Tag gerettet. Das ist nur eine Möglichkeit, diesen verdammten Fehler zu beheben.
TimeCoder

Hat für mich gearbeitet. Die meisten anderen Lösungen haben dies nicht getan. Stellen Sie sicher, dass Sie ALLE Schritte befolgen. Ich habe den Schritt "Docker-Netzwerkprofil auf 'Privat' setzen" Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private "auf eigene Gefahr verpasst.
Herr Slim

54

Meine Lösung bestand darin, die Verbindung zum VPN zu trennen. das verursachte das Problem


2
Ich habe das Problem auch nach dem Trennen von meinem VPN gelöst, was ich natürlich erst versucht habe, als alle anderen Möglichkeiten ausgeschöpft waren. Seufzer
Kirkaiya

Ich suchte einen halben Tag und musste mich nur vom VPN trennen. Danke!
HELPME

1
Einfache Lösung ... Danke!
MilanYadav

1
Vielen Dank! Ich habe meinen VPN-Client vergessen, der beim Windows-Start automatisch gestartet wird.
Fabio Formosa

Vielen Dank, dass Sie uns informiert haben.
Ahmad Mousavi

27

Ich habe keine Firewalls von Drittanbietern verwendet, als dieser Fehler auftrat. Ich war überzeugt, dass es sich um ein Windows-Firewall-Problem handelt, obwohl das Deaktivieren der Windows-Firewall bei mir nicht funktioniert hat. Nach langem Nachforschen habe ich diesen Blog-Beitrag endlich gefunden: Docker unter Windows 10 Fehler: Eine Firewall blockiert die Dateifreigabe ...

Es endete NICHT mit der eingebauten Windows-Firewall.

Die Reparatur

  1. Deaktivieren Sie die Datei- und Druckerfreigabe für Microsoft-Netzwerke über den vEthernet- Netzwerkadapter (DockerNAT) (die Verbindung finden Sie im Windows- Netzwerk- und Freigabecenter ).
  2. Überprüfen Sie es erneut und stellen Sie sicher, dass es aktiviert ist.

Hat perfekt für mich funktioniert, danke!
LewisCheng-MSFT

Anscheinend hat das auch bei mir funktioniert. Ich habe die Windows-Firewall überprüft und hatte bereits die richtige Regel, die wahrscheinlich vom Docker selbst vorinstalliert wurde.
Davide Inglima

Es wäre schön zu wissen, warum dies funktioniert und was die eigentliche Ursache des Problems ist. Scheint häufig zu passieren.
Jason Rowe

Problem ist, dass Sie es nach dem Neustart des Systems erneut tun müssen
AFD

@ AFD, interessant, ich habe dieses Problem nicht.
Jiminikiz

22

Mein C-Laufwerk wurde nach einem kürzlich durchgeführten Windows 10-Update nicht mehr für Docker freigegeben. Ich hatte das gleiche Problem, dass es von der Windows-Firewall blockiert wurde, als ich versuchte, es erneut zu teilen.

Beim Durchsehen der oben genannten Lösungen habe ich etwas gefunden, das für mich funktioniert und einfacher ist als alles andere, was ich auf dieser Seite gesehen habe. In der Systemsteuerung \ Alle Systemsteuerungselemente \ Netzwerk- und Freigabecenter habe ich in der vEthernet-Verbindung (DockerNAT) die Eigenschaft Datei- und Druckerfreigabe für Microsoft-Netzwerke deaktiviert und die Einstellung gespeichert. Dann habe ich die Eigenschaft erneut überprüft, um sie wieder zu aktivieren, und sie erneut gespeichert.

Zu diesem Zeitpunkt konnte ich das Laufwerk C in den Docker-Einstellungen erneut freigeben. Ich habe keine Ahnung, warum dies funktioniert hat, aber es war kein Firewall-Problem, das bereits einen Eintrag für DockerSmbMount hat.


WOW das ist ein enttäuschender Fehler. Ich habe den ganzen Tag gesucht, danke
FAjir

das hat fast funktioniert. Ich erhalte keine Firewall-Nachricht, aber das Kontrollkästchen bleibt nicht aktiviert!
Jokab

17

Ich hatte dieses Problem mit Kaspersky; Das Ausschalten von Kaspersky funktionierte, daher wusste ich, dass es sich um die Firewall handelte. In meinem Fall hat Kaspersky aus irgendeinem Grund bereits Port 445 blockiert. Ich musste zu Paketregeln für die Firewall, Lokale Dienste (TCP) gehen und 445 aus der Liste der Blockports entfernen.

Bild 1

Bild 2


1
Hat für mich gearbeitet! In Kaspersky ES 10 sah die Benutzeroberfläche jedoch anders aus: Sie finden sie folgendermaßen: Registerkarte "Einstellungen"> Wählen Sie links "Firewall" aus> klicken Sie auf die Schaltfläche "Netzwerkpaketregeln"> Wählen Sie "Lokale TCP-Verbindung"> Wählen Sie oben "Bearbeiten"
Simon B.

1
Anstatt 445 aus der Liste zu entfernen, wurde "Aktion" von "Blockiert" in "Nach Anwendungsregeln" geändert und es hat bei mir funktioniert. Daher sollte das Entfernen von 445 aus 'Local Services (TCP)' und das Erstellen einer neuen Regel 'Docker SMB Mount' mit der Aktion 'By Application Rules' ebenfalls funktionieren.
Jimson Kannanthara James

Dieser hat für mich gearbeitet. Ich musste Kaspersky anhalten und dann versuchen, das freigegebene Laufwerk unter Docker für Windows zu aktivieren.
Gdyrrahitis

Vielen Dank, dass Sie die Lösung für Kaspersky freigegeben haben. Es hat bei mir funktioniert.
namit

Ich hatte das gleiche Problem und folgte matthewhorne.me/…
Anthony O.

11

Bei Windows 10-Computern in Domänennetzwerken wird der virtuelle Hyper-V-Ethernet-Adapter beim Erstellen als virtuelles Netzwerk kategorisiert. Sie müssen es in ein privates Netzwerk ändern, um die lockeren Windows-Firewall-Regeln und damit die Dateifreigabe zu ermöglichen.

Führen Sie den folgenden Befehl in PowerShell aus:

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

Ändern Sie den Namen in Anführungszeichen, wenn die virtuelle Hyper-V-Netzwerkverbindung Ihres Computers als etwas anderes bezeichnet wird.


Arbeitete wie ein Zauber für mich. Führen Sie den Befehl in einer Powershell 6-Sitzung unter Windows 10 v0.0.17763 Build 17763, Docker v18.09.2 Build 6247962 aus und führen Sie Norton Security Suite aus.
Adam

9

Mein Problem war, dass Cisco Anyconnect VPN das interne Docker-Netzwerk störte


Um dies zu beheben, gehen Sie zu: Cisco Anyconnect-Einstellungen> Einstellungen> ÜberprüfenAllow local (LAN) access when using VPN


Dies funktionierte für mich, als die Vorschläge zur Dateidruckfreigabe dies nicht taten. Anyconnect Allow local (LAN) access when using VPNwurde bereits aktiviert , daher habe ich es deaktiviert , die Verbindung getrennt, die Option erneut aktiviert und die Verbindung zum VPN wiederhergestellt . Docker für Windows hat dann die Laufwerksfreigabe wie gewünscht angewendet.
Aaron

Hat bei mir nicht funktioniert, ich musste Cisco AnyConnect trennen, um Laufwerke freizugeben. Irgendwelche Ideen?
Jack

Anscheinend haben sich unsere Krieger des Unternehmensnetzwerks 0.0.0.0/0 gesichert, also habe ich kein Glück :-(
Jack

8

Wie in einer anderen Antwort angegeben, spielt Docker mit einem VPN nicht gut. Wenn Sie Nordvpn verwenden, müssen Sie "Unsichtbarkeit im LAN" und wahrscheinlich "Internet Kill Switch" deaktivieren .

Wenn Sie dies getan haben, sollte es auch bei aktivem VPN funktionieren.

NordVPN Client


2
Danke dir! Das hat es für mich gelöst. Ich war 2 Wochen fest!
user3034

1
Ich danke dir sehr! Einige Stunden später, als ich mit den Netzwerkeinstellungen herumgespielt habe, war dies das einzige, was für mich funktioniert hat!
AnotherShruggingPhysicist

6

Das hängt davon ab, welche Firewall Sie installiert haben. In meinem Fall habe ich die integrierte Windows-Firewall deaktiviert und verwende ESET Smart Security, sodass meine Regeln wie folgt aussehen:

  • Erstellen Sie eine Regel für die IN- Verbindung, da Sie Docker erlauben sollten, eine Verbindung zu Ihrem Host herzustellen, und setzen Sie sie auf Zulassen

Geben Sie hier die Bildbeschreibung ein

  • Richten Sie den Anschluss richtig erklärt , wie in docs Bedeutung 445:

Geben Sie hier die Bildbeschreibung ein

  • Richten Sie die Remote-IP-Adresse ein:

Geben Sie hier die Bildbeschreibung ein

Möglicherweise ist dies nicht die Antwort, da es nicht mit der Windows-Firewall zusammenhängt, sondern Ihnen einen Hinweis geben kann, was zu tun ist.


Vielen Dank, Reynier. Ich habe das befolgt, was Sie in der Windows-Firewall so gut wie möglich gezeigt haben. - Registerkarte "Allgemein" = "Aktiviert" - Registerkarte "Protokolle und Ports" = TCP-Protokoll und lokaler Port = 445 - Registerkarte "Bereich" = Remote-IP = 10.0.75.2 Es wurde jedoch dieselbe Fehlermeldung angezeigt. Alle Ports und IP-Adressen erlaubt - gleiches Ergebnis. Eine andere Regel hat Vorrang?
Ribeye

Wird besser sein, wenn Sie einige Screenshots von dem hinzufügen, was Sie haben, weil ich Windows-Firewall hasse und mich noch nie damit
befasse

Wie können Sie die Anwendung "System" auswählen?
Küzdi Máté

Sie müssen die Anwendung "System" nicht hinzufügen, müssen jedoch sicherstellen, dass das DockerNAT-Netzwerk in bekannten Netzwerken mit dem IP-Bereich 10.0.75.1/24
Miguel Febres vom

Wir verwenden ESET nicht: /
Ionel Lupu

4

Keines der oben genannten hat bei mir funktioniert.

Der Trick bestand schließlich darin, die Eigenschaften des Netzwerks "vEthernet (DockerNAT)" zu öffnen und das Kontrollkästchen "Hyper-V Extensible Virtual Switch" am Ende der Liste auf der Registerkarte "Netzwerk" zu aktivieren.

Ich bin mir nicht sicher, ob dies das eigentliche Update ist oder ob es den Netzwerkadapter für mich irgendwie zurückgesetzt hat ... aber es hat funktioniert!


4

Es scheint, als hätten viele dieses Problem, wenn sie Cisco AnyConnect ausführen. Ich habe das gleiche Problem und hier ist, wie ich es gelöst habe:

Die Ursache: Das von Docker verwendete Subnetz befindet sich in der Liste der gesicherten Routen, die von Cisco AnyConnect verwaltet werden (ich glaube, diese Liste wird vom Administrator Ihres VPN verwaltet).

Die Lösung: Ändern Sie das von Docker verwendete Subnetz so, dass es sich nicht mit der von AnyConnect verwalteten Liste überschneidet.

In meinem Fall habe ich beispielsweise von 10.0.75.0 (das sich mit 10.0.0.0/8 überlappte) auf 172.31.0.0/28 geändert. Geben Sie hier die Bildbeschreibung ein


3

Ich hatte das gleiche Problem und versuchte alle Korrekturen - und es stellte sich heraus, dass mehr als eine notwendig war:

  • Fügen Sie eine Firewall-Regel hinzu (Norton Security für mich)
  • Machen Sie das Netzwerk privat
  • Teilen Sie das Laufwerk

Ich habe eine vollständige Erklärung unter http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/ geschrieben.


1
„Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. “
McGrady

Der Schlüssel hier war für mich, das Docker-Netzwerk privat zu machen.
Mike Caron

3

Mein G-Laufwerk wurde nach einem kürzlich durchgeführten Windows 10-Update nicht mehr für Docker freigegeben. Ich hatte das gleiche Problem, dass es von der Windows-Firewall blockiert wurde, als ich versuchte, es erneut zu teilen.

Dann hatte ich versucht, dieses Problem durch ein paar Vorschläge zu lösen, aber ich kann dieses Problem nicht lösen, nachdem ich versucht habe, die Anmeldeinformationen unten von Shared Drives zurückzusetzen, und mein Problem wurde behoben.

Wenn Sie möchten, können Sie versuchen, dies zu tun.

Geben Sie hier die Bildbeschreibung ein


3

Alles, was alle gepostet haben, hat nicht für mich funktioniert.

DAS HATTE.

Ich habe die EDGE-Version installiert. Ich ging dann zu WINDOWS DEFENDER und deaktivierte die Firewall für DOCKER NAT. (nicht mein eigentlicher Ethernet-Adapter, nur der Docker nat)

Sobald ich Windows Defender / Firewall deaktiviert habe, hat es gut funktioniert.

Pfui. hofft wirklich, dass das einigen von euch hilft!


Das Deaktivieren der Firewall für eine bestimmte Verbindung (dockerNat) hat geholfen. Vielen Dank!
Mafu

Bitte erläutern Sie, wie genau Sie die Windows Defender-Firewall für einen bestimmten Netzwerkadapter / eine bestimmte Netzwerkverbindung deaktiviert haben.
Vulkanrabe

3

In meinem Fall habe ich "TCP 445 blockieren" in der Windows Defender-Firewall mit erweiterter Sicherheit deaktiviert und es hat funktioniert. Aktivieren Sie es dann erneut, nachdem Sie freigegebene Laufwerke in Docker festgelegt haben.

Einstellung von Block TCP 445

Einstellung von gemeinsam genutzten Laufwerken


Ich habe gerade festgestellt, dass ich diese Firewall-Regel persönlich hinzugefügt habe, als NSA-Hacking-Tools durchgesickert sind. Vielen Dank!
Danny Z

2

Ich hatte das gleiche Problem mit F-Secure. DeepGuard blockierte den Docker-Dienst. Meine Lösung war:

Öffnen Sie den F-Secure Client und klicken Sie auf " Aufgaben ".

Geben Sie hier die Bildbeschreibung ein

Wählen Sie " Programm starten lassen "

Geben Sie hier die Bildbeschreibung ein

Wählen Sie aus der Liste "com.docker.service" und klicken Sie auf " Entfernen ".

Geben Sie hier die Bildbeschreibung ein

Nach diesem Neustart Docker Client und versucht , für Dateifreigabe zu beantragen.

Auch hier eine sehr gute Anleitung zur Fehlerbehebung: Fehler: Eine Firewall blockiert die Dateifreigabe zwischen Windows und den Containern


2

Ich hatte das gleiche Problem mit der Firewall, die es mir nicht erlaubte, mein C-Laufwerk freizugeben. Ich habe alle oben aufgeführten Lösungen ausprobiert und nichts hat bei mir funktioniert. Dann habe ich Docker vollständig von meinem Computer deinstalliert. Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Gehen Sie dann zur Docker-Website und klicken Sie auf.Get Docker for Windows (Stable)
Danach konnte ich Laufwerk C freigeben


1
Ich habe buchstäblich alles andere ausprobiert, nur diese Lösung hat bei mir funktioniert. Danke, Mann!
Charis Moutafidis

2

Für AVG Internet Security hat das Aktivieren des Internetverbindungsfreigabemodus unter den Firewall-Einstellungen den Trick für mich getan.

Geben Sie hier die Bildbeschreibung ein


2

Selbst nachdem sichergestellt wurde, dass die eingehende Firewall-Regel ordnungsgemäß eingerichtet wurde, und selbst nach der Deinstallation und Neuinstallation des Datei- und Druckfreigabedienstes hat dies bei mir nicht funktioniert.

Lösung: Außerdem musste ich noch eine dritte Sache machen. Ich musste das Kontrollkästchen Eingehende Verbindungen in einem öffentlichen Netzwerk in den spezifischen Firewall-Einstellungen für öffentliche Netzwerke deaktivieren . Danach fing es auch bei mir an zu arbeiten. Siehe Screenshots am Ende dieser Nachricht.

Ich weiß nicht, wie lange diese Option schon da ist. Ich arbeite derzeit an Win 10 Pro 1709 16299.402.


1. Öffnen Sie bestimmte Firewall-Einstellungen für öffentliche Netzwerke Öffnen Sie bestimmte Firewall-Einstellungen für öffentliche Netzwerke

2. Deaktivieren Sie dieses Kontrollkästchen Deaktivieren Sie dieses Kontrollkästchen


2

Mit Kaspersky Internet Security können Sie dies leicht beheben, wenn Sie den vEthernet (DockerNAT)Netzwerkadaptertyp in ändern Trusted network.

Einstellungen> Schutz> Firewall> Netzwerke> vEthernet (DockerNAT)> Wählen Sie "Vertrauenswürdiges Netzwerk".

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein


2

25. Januar 2020

Es scheint, es ist ein Problem in den alten Versionen, ich habe die letzte Version installiert:

Docker version 19.03.5, build 633a0ea

und es hat bei mir ohne Konfiguration funktioniert.

Geben Sie hier die Bildbeschreibung ein


1

Dies (Link unten) scheint die beste Lösung zu sein, die ich bisher gefunden habe. Es ist über Neustarts hinweg beständig. Dies wird am besten hier erklärt: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3

Die vEthernet-Netzwerkschnittstelle scheint bei jedem Systemstart dynamisch erstellt zu werden und wird in der Gruppe "Öffentlich" und nicht in der Gruppe "Privat" (wo sie funktioniert) erstellt. Die Änderungen in einem der Docker-Startskripte (siehe Link oben) automatisieren den von David Tesar oben angegebenen Powershell-Befehl / Fix.

Ich hatte mehr Glück, die Funktion zum Skript hinzuzufügen, als das Skript zu bearbeiten und 'Intern' in 'Privat' zu ändern.


1

Wenn dies nicht funktioniert, stellen Sie einfach sicher, dass Sie nicht mit einem VPN verbunden sind . Genau das ist mir passiert. Ich war mit dem Cisco AnyConnect-Client mit einem VPN verbunden. Stellen Sie außerdem sicher, dass Sie in den Docker-Einstellungen ein statisches DNS festgelegt haben.


Wenn Sie beide benötigen (VPN AnyConnect und Docker), lesen
Averell

1

Ich habe alles versucht, was hier und auf https://github.com/docker/for-win/issues/360 aufgeführt ist

Bei mir hat nichts funktioniert.

Ich führe meine Entwicklungsumgebung auf einem Docker-Container aus und während ich auf Corporate VPN (Cisco AnyConnect) bin, muss ich mein lokales Laufwerk auf dem Container bereitstellen, um auf meine Projektdateien zugreifen zu können.

Hier ist ein Docker-Hack, der für mich funktioniert hat. Fügen Sie --publish 8000:8000Ihrem vorhandenen Docker-Ausführungsbefehl hinzu.

So

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev <image:latest>

wird werden

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev --publish 8000:8000 <image:latest>

Stellen Sie sicher, dass der Port nicht verwendet wird. Andernfalls wird folgende Fehlermeldung angezeigt:

Bindung für 0.0.0.0:8000 fehlgeschlagen: Port ist bereits zugewiesen


1

Kurz gesagt, verwenden Sie die Edge-Version.

Die Edge-Version von Docker für Windows seit 2.1.5.0 (04.11.2019) verfügt über eine neue Implementierung der Dateifreigabe, ohne dass Änderungen an der Firewall erforderlich sind. Https://docs.docker.com/docker-for-windows/edge-release-notes /.

"Neue Implementierung der Dateifreigabe: Docker Desktop führt eine neue Implementierung der Dateifreigabe ein, die gRPC-, FUSE- und Hypervisor-Sockets anstelle von Samba-, CIFS- und Hyper-V-Netzwerken verwendet. Die neue Implementierung bietet eine verbesserte E / A-Leistung neues Dateisystem:

Users don’t have to expose the Samba port, and therefore do not experience issues related to IT firewall or the drive-sharing policy.
There is no need to provide user credentials to Docker Desktop. File access rights are automatically enforced when accessing mounted folders through containers.

""

Sie können die Edge-Version herunterladen: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe

Hinweis: Ab sofort wird die Edge-Version von 2.1.7.0 für die nächste stabile Version verwendet: "Hinweis: Docker Desktop Edge 2.1.7.0 ist der Release-Kandidat für die kommende Hauptversion von Stable." Das Risiko, Edge zu verwenden, ist daher relativ gering. Oder Sie können auf die nächste stabile Version warten, um all diese Firewall-Probleme zu vermeiden.



0

Ich fand es ziemlich einfach. Gehen Sie einfach zu Ihren Netzwerkverbindungen. Sie können zu Systemsteuerung / Netzwerk und Freigabe gehen. Sie finden verschiedene Verbindungen. Suchen Sie nach Docker-Verbindung. Wählen Sie die Standardeinstellung aus. Gehen Sie nach Auswahl des Netzwerks zu Eigenschaften. Aktivieren Sie im Eigenschaftenbereich die Option Hyper-V Extensible Virtual Switch . Dies hilft dem virtuellen Container, die Netzwerkkarte zu verwenden.


0

Was es für mich getan hat (nach mehreren Stunden Versuch-und-Irrtum), war das Ändern der Subnetzmaske von 255.255.255.240auf 255.255.255.0(was nichts ändern sollte).

Als Teil des Versuch-und-Irrtums hatte ich alles andere getan, was im Artikel aufgeführt ist, aber ohne Erfolg. Aber dieser letzte Schritt hat es geschafft. Das Zurückkehren zu 255.255.255.240bricht den guten Zyklus nicht.

Ich gebe zu, es macht keinen Sinn ... aber es könnte mit einem internen Zustand zusammenhängen, der nur durch die Netzwerkänderung ausgelöst wird.

Wie auch immer, wenn ich nur einem geholfen habe, dann war es die Mühe wert.

Docker Desktop edge, 2.0.4.1 (34207)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.