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?
docker
docker-for-windows
Ribeye
quelle
quelle
Antworten:
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:
quelle
Get-NetConnectionProfile
um sicherzustellen, dass dasDockerNAT
Netzwerk in derPrivate
Kategorie0x80071779
, ich habe versucht zu deaktivieren -> aktivieren. Auch Firewall deaktiviert ... Ich habe auch versucht, auf privat zu setzen, funktioniert immer noch nicht, irgendwelche Ideen?Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
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
Schritt 2: Klicken Sie auf Netzwerkschutz
Schritt 3: 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.
Schritt 5: Klicken Sie auf die Schaltfläche Entsperren , dann sollte dieser Bildschirm angezeigt werden.
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.
quelle
Nur diese Lösung hilft mir:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
quelle
Set-NetConnectionProfile
die 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
Meine Lösung bestand darin, die Verbindung zum VPN zu trennen. das verursachte das Problem
quelle
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.
quelle
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.
quelle
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.
quelle
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:
Ändern Sie den Namen in Anführungszeichen, wenn die virtuelle Hyper-V-Netzwerkverbindung Ihres Computers als etwas anderes bezeichnet wird.
quelle
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üfen
Allow local (LAN) access when using VPN
quelle
Allow local (LAN) access when using VPN
wurde 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.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.
quelle
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:
445
: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.
quelle
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!
quelle
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.
quelle
Ich hatte das gleiche Problem und versuchte alle Korrekturen - und es stellte sich heraus, dass mehr als eine notwendig war:
Ich habe eine vollständige Erklärung unter http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/ geschrieben.
quelle
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.
quelle
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!
quelle
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.
quelle
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 ".
Wählen Sie " Programm starten lassen "
Wählen Sie aus der Liste "com.docker.service" und klicken Sie auf " Entfernen ".
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
quelle
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
quelle
Für AVG Internet Security hat das Aktivieren des Internetverbindungsfreigabemodus unter den Firewall-Einstellungen den Trick für mich getan.
quelle
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
2. Deaktivieren Sie dieses Kontrollkästchen
quelle
Mit Kaspersky Internet Security können Sie dies leicht beheben, wenn Sie den
vEthernet (DockerNAT)
Netzwerkadaptertyp in ändernTrusted network
.Einstellungen> Schutz> Firewall> Netzwerke> vEthernet (DockerNAT)> Wählen Sie "Vertrauenswürdiges Netzwerk".
quelle
25. Januar 2020
Es scheint, es ist ein Problem in den alten Versionen, ich habe die letzte Version installiert:
und es hat bei mir ohne Konfiguration funktioniert.
quelle
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.
quelle
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.
quelle
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:8000
Ihrem vorhandenen Docker-Ausführungsbefehl hinzu.So
wird werden
Stellen Sie sicher, dass der Port nicht verwendet wird. Andernfalls wird folgende Fehlermeldung angezeigt:
quelle
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:
""
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.
quelle
Für diejenigen, die dieses Problem auf keine Weise lösen können, können Sie Folgendes versuchen: Laufwerk manuell dem Docker-Host zuordnen:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
Die Forschung ist hier: https://github.com/docker/for-win/issues/466#issuecomment-398305463
quelle
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.
quelle
Was es für mich getan hat (nach mehreren Stunden Versuch-und-Irrtum), war das Ändern der Subnetzmaske von
255.255.255.240
auf255.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.240
bricht 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.
quelle