Zapora systemu Windows blokuje moją próbę zezwolenia Dockerowi dla systemu Windows na udostępnianie C: na komputerze z systemem Windows 10.
Działa dobrze, gdy zapora systemu Windows jest wyłączona. Kiedy jest włączony, dostaję
Zapora sieciowa blokuje udostępnianie plików między systemem Windows a kontenerami. Zobacz dokumentację, aby uzyskać więcej informacji.
Dokumentacja mówi
Nie musisz otwierać portu 445 w żadnej innej sieci. Domyślnie zezwalaj na połączenia z portem 10.0.75.1 445 (host Windows) z 10.0.75.2 (maszyna wirtualna).
Jestem wygooglowany, próbując dowiedzieć się, jak to zrobić - czy ktoś może doradzić?
docker
docker-for-windows
Ribeye
źródło
źródło
Odpowiedzi:
W rzeczywistości nie musisz udostępniać dysku C, ale tylko ponownie zainstaluj (lub nawet usuń zaznaczenie - kliknij OK - a następnie zaznacz) usługę udostępniania plików i drukarek na wirtualnej karcie sieciowej Hyper-V. Zobacz ten artykuł.
Ponadto, jeśli istnieją ograniczenia dotyczące profili sieciowych (tj. Publicznych), rozważ zmianę domyślnej „niezidentyfikowanej sieci” dla karty „vEthernet (DockerNAT)” na prywatną za pomocą tego polecenia programu PowerShell przed wykonaniem powyższego:
źródło
Get-NetConnectionProfile
aby upewnić się, żeDockerNAT
sieć jest wPrivate
kategorii0x80071779
, próbowałem wyłączyć -> włącz. Również firewall wyłączony ... Próbowałem też ustawić jako prywatny, nadal nie działa, jakieś pomysły?Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Ok, więc po uruchomieniu w tym samym numerze znalazłem rozwiązanie.
Oto co zrobiłem:
Krok 1: Otwórz ESET. Następnie kliknij Setup
Krok 2: Kliknij Ochrona sieci
Krok 3: Kliknij Kreator rozwiązywania problemów
Krok 4: Znajdź Komunikację 10.0.75.2 (Domyślne ustawienie IP dockera ) Po prostu sprawdź, jaki zakres IP jest zdefiniowany w ustawieniach dockera. Następnie poszukaj adresu IP znajdującego się w tym zakresie.
Krok 5: Kliknij przycisk Odblokuj , a następnie powinieneś otrzymać ten ekran.
To rozwiązało problem dla siebie.
Następnie możesz przejść do Reguł i sprawdzić regułę, która została dodana.
PS: To jest mój pierwszy post, przepraszam za nieprawidłowe procedury.
źródło
Tylko to rozwiązanie pomaga mi:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
źródło
Set-NetConnectionProfile
ma być uruchamiane w PowerShell jako administrator, a nie normalne Cmd. U mnie działa dobrze, ale adapter Ethernet jest nadalunidentified network
Moim rozwiązaniem było rozłączenie się z VPN; który był przyczyną problemu
źródło
Podczas napotkania tego błędu nie korzystałem z zapór sieciowych innych firm. Byłem przekonany, że jest to problem z Zaporą systemu Windows, chociaż wyłączenie Zapory systemu Windows nie zadziałało. W końcu znalazłem ten post na blogu po wielu badaniach: Błąd Dockera w systemie Windows 10: zapora sieciowa blokuje udostępnianie plików ...
Skończyło się to NIE mając do czynienia z wbudowaną Zaporą systemu Windows.
źródło
Mój dysk C przestał być udostępniany Dockerowi po ostatniej aktualizacji systemu Windows 10. Otrzymałem ten sam problem, mówiąc, że został on zablokowany przez zaporę systemu Windows podczas próby ponownego udostępnienia.
Przeglądając powyższe rozwiązania, znalazłem coś, co działało dla mnie i jest prostsze niż cokolwiek innego, co widziałem na tej stronie. W Panelu sterowania \ Wszystkie elementy Panelu sterowania \ Centrum sieci i udostępniania w połączeniu vEthernet (DockerNAT) odznaczyłem właściwość Udostępnianie plików i drukarek dla sieci Microsoft Networks i zapisałem ustawienie. Następnie ponownie sprawdziłem właściwość, aby ją ponownie włączyć i ponownie ją zapisałem.
W tym momencie mogłem ponownie udostępnić dysk C w ustawieniach Dockera. Nie mam pojęcia, dlaczego to zadziałało, ale nie był to problem z firewallem, który ma już wpis dla DockerSmbMount.
źródło
Miałem ten problem z Kaspersky; wyłączenie Kaspersky działało, więc wiedziałem, że to firewall. W moim przypadku Kaspersky z jakiegoś powodu blokował już port 445. Musiałem przejść do Reguł pakietów dla zapory, usług lokalnych (TCP) i usunąć 445 z listy blokowanych portów.
źródło
W przypadku maszyn z systemem Windows 10 w sieciach domenowych podczas tworzenia adaptera wirtualnej sieci Ethernet Hyper-V jest klasyfikowany jako sieć publiczna. Musisz zmienić to na sieć prywatną, aby zezwolić na bardziej łagodne reguły Zapory systemu Windows, a tym samym umożliwić udostępnianie plików.
Uruchom następujące polecenie w programie PowerShell:
Zmień nazwę w cudzysłowie, jeśli wirtualne połączenie sieciowe Hyper-V Twojej maszyny nazywa się czymś innym.
źródło
Mój problem polegał na tym, że Cisco Anyconnect VPN zakłócało wewnętrzną sieć dokera
aby to naprawić, przejdź do:
Ustawienia Cisco Anyconnect> Preferencje> sprawdź
Allow local (LAN) access when using VPN
źródło
Allow local (LAN) access when using VPN
było już zaznaczone, więc odznaczyłem je, rozłączyłem, ponownie sprawdziłem opcję i ponownie połączyłem się z VPN. Następnie Docker dla Windows zastosował udział dysku zgodnie z potrzebami.Jak stwierdzono w innej odpowiedzi, Docker nie działa dobrze z VPN. Jeśli używasz Nordvpn, musisz wyłączyć „Niewidzialność w sieci LAN” i prawdopodobnie „Wyłącznik Kill w Internecie” .
Jeśli to zrobiłeś, powinno działać nawet przy aktywnej sieci VPN.
źródło
To zależy od zainstalowanej zapory. W moim przypadku wyłączyłem wbudowaną zaporę systemu Windows i używam ESET Smart Security, więc moje reguły wyglądają następująco:
445
:Może to nie jest odpowiedź, ponieważ nie jest to związane z Zaporą systemu Windows, ale może dać ci wskazówkę, co robić.
źródło
Żadne z powyższych nie działało dla mnie.
W końcu udało się otworzyć właściwości sieci „vEthernet (DockerNAT)” i zaznaczyć pole „Hyper-V Extensible Virtual Switch” u dołu listy w zakładce „Networking”.
Nie jestem pewien, czy to jest właściwa poprawka, czy po prostu jakoś zresetowała kartę sieciową ... ale zadziałało!
źródło
Wygląda na to, że wiele osób ma ten problem podczas korzystania z Cisco AnyConnect. Mam ten sam problem i oto jak go rozwiązałem:
Przyczyna: podsieć używana przez Docker znajduje się na liście bezpiecznych tras zarządzanych przez Cisco AnyConnect (uważam, że ta lista jest zarządzana przez administratora Twojej sieci VPN).
Rozwiązanie: zmień podsieć używaną przez platformę Docker, aby nie nakładała się na listę zarządzaną przez AnyConnect.
Na przykład w moim przypadku zmieniłem z 10.0.75.0 (który nakładał się z 10.0.0.0/8) na 172.31.0.0/28.
źródło
Miałem ten sam problem i wypróbowałem wszystkie poprawki - i okazało się, że potrzeba więcej niż jednej:
Napisałem pełne wyjaśnienie na http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/
źródło
Mój dysk G przestał być udostępniany Dockerowi po ostatniej aktualizacji systemu Windows 10. Otrzymałem ten sam problem, mówiąc, że został on zablokowany przez zaporę systemu Windows podczas próby ponownego udostępnienia.
Potem próbowałem rozwiązać ten problem za pomocą kilku sugestii, ale nie mogę rozwiązać tego problemu po tym, jak próbowałem zresetować dane uwierzytelniające poniżej dysków współdzielonych i mój problem został rozwiązany.
Więc jeśli chcesz, możesz spróbować to zrobić-
źródło
Wszystko, co wszyscy opublikowali, NIE DZIAŁAŁO dla mnie.
TO ZROBIŁO.
Zainstalowałem wydanie EDGE. Następnie udałem się do WINDOWS DEFENDER i wyłączyłem zaporę sieciową dla DOCKER NAT. (nie moja rzeczywista karta sieciowa, tylko doker nat)
Kiedy już wyłączyłem Windows Defender / Firewall, TO działało dobrze.
ugh. naprawdę mam nadzieję, że to pomoże niektórym z was!
źródło
W moim przypadku wyłączyłem „Blokuj TCP 445” w Zaporze Windows Defender z zaawansowanymi zabezpieczeniami i zadziałało. Następnie włącz go ponownie po ustawieniu dysków współdzielonych w Dockerze.
źródło
Miałem ten sam problem z F-secure, DeepGuard blokował usługę Docker. Moje rozwiązanie brzmiało:
Otwórz klienta F-secure i kliknij „ Zadania ”
Wybierz „ Zezwól programowi na uruchomienie ”
Wybierz z listy „com.docker.service” i naciśnij „ Usuń ”
Następnie uruchom ponownie klienta Docker i spróbuj ubiegać się o udział plików.
Tutaj również bardzo dobry przewodnik rozwiązywania problemów: Błąd: zapora sieciowa blokuje udostępnianie plików między systemem Windows a kontenerami
źródło
Miałem ten sam problem z zaporą ogniową, która nie pozwalała mi udostępniać mojego dysku C. Wypróbowałem wszystkie powyższe rozwiązania i nic mi nie pomogło. Następnie całkowicie odinstalowałem docker z mojego komputera.
Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Następnie przejdź do witryny docker i kliknij.
Get Docker for Windows (Stable)
Potem mogłem udostępnić dysk C
źródło
W przypadku programu AVG Internet Security włączenie trybu udostępniania połączenia internetowego w ustawieniach Zapory sieciowej załatwiło sprawę.
źródło
Nawet po upewnieniu się, że reguła zapory dla ruchu przychodzącego jest poprawnie skonfigurowana, a nawet po odinstalowaniu i ponownym zainstalowaniu usługi udostępniania plików i drukarek , nie działała.
Rozwiązanie: oprócz tego musiałem zrobić jeszcze trzecią rzecz. Musiałem dezaktywować pole wyboru Zapobiegaj połączeniom przychodzącym w sieci publicznej w określonych ustawieniach zapory sieciowej dla sieci publicznych. Po zrobieniu tego również dla mnie zaczęło działać. Zobacz zrzuty ekranu załączone na końcu tej wiadomości.
Nie wiem, jak długo ta opcja już tam była. Obecnie pracuję nad Win 10 Pro 1709 16299.402.
1. Otwórz określone ustawienia zapory sieciowej dla sieci publicznych
2. Odznacz to pole wyboru
źródło
Korzystając z Kaspersky Internet Security, możesz łatwo rozwiązać ten problem, jeśli zmienisz
vEthernet (DockerNAT)
typ karty sieciowej naTrusted network
.Ustawienia> Ochrona> Zapora> Sieci> vEthernet (DockerNAT)> Wybierz „Sieć zaufana”
źródło
25 stycznia 2020
Wygląda na to, że jest to problem w starszych wersjach, zainstalowałem ostatnią wersję:
i działało dla mnie bez żadnej konfiguracji.
źródło
To (link poniżej) wydaje się być najlepszą poprawką, jaką znalazłem do tej pory. Jest trwały po ponownym uruchomieniu. Najlepiej wyjaśnić to tutaj: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3
Interfejs sieciowy vEthernet wydaje się być dynamicznie tworzony przy każdym uruchomieniu systemu i jest tworzony w grupie „Publiczny”, a nie w grupie „Prywatna” (gdzie działa). Zmiany w jednym ze skryptów startowych Dockera (wywoływanych w powyższym linku) automatyzują polecenie / poprawkę PowerShell odnotowaną przez Davida Tesara powyżej ...
Miałem więcej szczęścia dodając tę funkcję do skryptu niż edytując skrypt i zmieniając „Wewnętrzny” na „Prywatny”.
źródło
Jeśli żadne z powyższych nie działa, po prostu upewnij się, że nie masz połączenia z VPN . Dokładnie to mi się przytrafiło, byłem podłączony do VPN za pomocą klienta Cisco AnyConnect, upewnij się również, że ustawiłeś statyczny DNS w ustawieniach dockera.
źródło
Wypróbowałem wszystko wymienione tutaj i na https://github.com/docker/for-win/issues/360
Nic mi nie wyszło.
Uruchamiam środowisko deweloperskie w kontenerze docker, a podczas korzystania z korporacyjnej sieci VPN (Cisco AnyConnect) muszę zamontować dysk lokalny na kontenerze, aby uzyskać dostęp do plików projektu.
Oto hack do dockera, który zadziałał dla mnie. Dodaj
--publish 8000:8000
do istniejącego polecenia docker run.Więc
stanie się
Upewnij się, że port nie jest używany, w przeciwnym razie pojawi się ten błąd:
źródło
Krótko mówiąc, użyj wersji Edge.
Wersja Edge Dockera dla Windows od 2.1.5.0 (2019-11-04) ma nową implementację udostępniania plików bez konieczności modyfikacji zapory ogniowej https://docs.docker.com/docker-for-windows/edge-release-notes /
„Nowa implementacja udostępniania plików: Docker Desktop wprowadza nową implementację udostępniania plików, która wykorzystuje gniazda gRPC, FUSE i Hypervisor zamiast sieci Samba, CIFS i Hyper-V. Nowa implementacja zapewnia lepszą wydajność we / wy. Dodatkowo, podczas korzystania z nowy system plików:
"
Możesz pobrać wersję Edge: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe
Uwaga: na chwilę obecną wersja Edge 2.1.7.0 będzie używana w następnej stabilnej wersji: „Uwaga: Docker Desktop Edge 2.1.7.0 jest kandydatem na nadchodzące główne wydanie stabilne”. Więc ryzyko korzystania z Edge jest stosunkowo niskie. Lub możesz poczekać na następną stabilną wersję, aby uniknąć wszystkich problemów z zaporą.
źródło
dla tych, którzy nie mogą rozwiązać tego problemu w jakikolwiek sposób, możesz spróbować tego: ręcznie zmapuj dysk do hosta dockera:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
Badania są tutaj: https://github.com/docker/for-win/issues/466#issuecomment-398305463
źródło
Wydało mi się to całkiem łatwe. Po prostu przejdź do swoich połączeń sieciowych. Możesz przejść do Panelu sterowania / Sieci i udostępniania. Znajdziesz różne połączenia. Wyszukaj połączenie Docker. Wybierz, które kiedykolwiek jest domyślne. Po wybraniu sieci przejdź do Właściwości. W sekcji właściwości włącz opcję Hyper-V Extensible Virtual Switch . Pomoże to wirtualny kontener w korzystaniu z karty sieciowej.
źródło
Zrobiło to dla mnie (po kilku godzinach prób-n-błędu) zmiana maski podsieci z
255.255.255.240
na255.255.255.0
(co nie powinno niczego zmieniać).W ramach próby-n-błędu zrobiłem wszystko inne wymienione w artykule, ale bez powodzenia ... ale ten ostatni krok to zrobił ... i powrót do
255.255.255.240
nie przerywa dobrego cyklu.Przyznaję, że to nie ma sensu… ale może to być związane ze stanem wewnętrznym wyzwalanym tylko przez zmianę sieci.
W każdym razie, jeśli pomogłem tylko jednemu, było to warte wysiłku.
źródło