Ustawienia Zapory systemu Windows, aby umożliwić Dockerowi dla systemu Windows udostępnianie dysku

139

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ć?

Ribeye
źródło
20
Cisco AnyConnect VPN blokowało to dla mnie, po wyjściu z VPN zadziałało.
Chris Wolf
1
Cisco mnie blokuje, ale POTRZEBUJĘ korzystać z VPN, a także udostępniać Docker ... Masz jakieś pomysły?
Nicolas Irisarri
1
Śledziłem to dla Norton Firewall i działało idealnie stackoverflow.com/questions/45159006/ ...
Robin Sanner
Zobacz poniżej post, który odpowiada na to pytanie superuser.com/questions/1470821/ ...
Aravind S
1
@NicolasIrisarri: Rozwiązałem ten sam problem (muszę używać ich obu w tym samym czasie). Rozwiązaniem jest użycie innej podsieci niż ta zabezpieczona przez AnyConnect. Zobacz moją odpowiedź poniżej: stackoverflow.com/a/58406873/9064636
Averell

Odpowiedzi:

151

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:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
David Tesar
źródło
4
Musiałem zamknąć Dockera dla Windowsa i zrestartować go po uruchomieniu powyższego polecenia Powershell. Możesz biec, Get-NetConnectionProfileaby upewnić się, że DockerNATsieć jest w Privatekategorii
seangwright
1
Link do blog.olandese.nl/2017/05/03/ ... rozwiązał mój problem. Wielkie dzięki!
Andrie
1
Żadne z nich nie działało dla mnie, więc próbowałem: stackoverflow.com/a/47837191/1895627
Andrei,
3
Nie mogę tego odinstalować, pojawia się błąd 0x80071779, 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?
BrunoLM
2
deinstalacja usługi udostępniania plików i drukarek:Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Marcel DB
73

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

kliknij konfigurację

Krok 2: Kliknij Ochrona sieci

kliknij ochrona sieci

Krok 3: Kliknij Kreator rozwiązywania problemów

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.

znaleźć połączenie

Krok 5: Kliknij przycisk Odblokuj , a następnie powinieneś otrzymać ten ekran.

kliknij odblokuj

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.

Franche Van Den Berg
źródło
Ten post był dla mnie niezwykle przydatny, ponieważ podczas dodawania reguł, jak wyjaśniono w dokumentacji, wymienione adresy IP były różne. Goed bezig!
DelphiLynx
11
Dla wszystkich użytkowników ESET tam, to jest rozwiązanie, dziękuję!
cudacoder
2
Wspaniały wkład Franche Van Den Berga, dzięki. To jest rzeczywiście rozwiązanie dla użytkowników ESET i bardzo eleganckie.
Vacilando,
W przypadku firmy ESET upewnij się, że sieć dokera znajduje się w strefie zaufanej
WhiteKnight,
To dokładne rozwiązanie działało na mnie bez zarzutu. Dziękuję Ci!
khalid
63

Tylko to rozwiązanie pomaga mi:

  • Idź do Hyper-V Manager -> Virtual Switch Manager -> DockerNAT -> Connection Type: zmień z wewnętrznego na prywatny, zastosuj, zmień z powrotem na wewnętrzny, zastosuj
  • Uruchom ponownie MobyLinuxVM
  • Uruchom ponownie platformę Docker
  • Ustaw profil sieci Docker na „Prywatny”. Uruchom polecenie w programie PowerShell jako administrator
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Zresetuj udostępnianie plików i drukarek w sieciach Microsoft przy połączeniu DockerNAT
  • Przejdź do Docker -> Ustawienia -> Dyski współdzielone i udostępnij C:
kostia24
źródło
6
warte poznania, które Set-NetConnectionProfilema być uruchamiane w PowerShell jako administrator, a nie normalne Cmd. U mnie działa dobrze, ale adapter Ethernet jest nadalunidentified network
DarkMukke
3
bombardowanie dywanowe FTW. Żadne z pozostałych rozwiązań nie zadziałało. Dzięki.
David West
To zadziałało w 100%. Żadna z pozostałych opcji tym razem nie zadziałała, a ostatecznym rozwiązaniem było ustawienie sieci na Prywatną.
lordg
Dzięki! Uratowałeś mi dzień. To tylko jeden sposób na naprawienie tego cholernego błędu.
TimeCoder
Pracował dla mnie. Większość innych rozwiązań nie. upewnij się, że wykonujesz WSZYSTKIE kroki. Na własne ryzyko przegapiłem krok „Ustaw profil sieci Docker na„ Prywatny ”Set-NetConnectionProfile -interfacealias„ vEthernet (DockerNAT) „-NetworkCategory Private”.
Pan Slim
54

Moim rozwiązaniem było rozłączenie się z VPN; który był przyczyną problemu

ianaz
źródło
2
Rozwiązałem również problem po rozłączeniu się z VPN, czego oczywiście nie próbowałem, dopóki nie wyczerpałem wszystkich innych możliwości. westchnienie
Kirkaiya
Szukałem przez pół dnia i po prostu musiałem rozłączyć się z VPN .. Dzięki!
HELPME
1
Proste rozwiązanie… dzięki!
MilanYadav
1
Dzięki! Zapomniałem klienta VPN, który uruchamia się automatycznie podczas uruchamiania systemu Windows.
Fabio Formosa
Dziękuję Ci! Postępowałem zgodnie z inną instrukcją bez powodzenia, ale po odłączeniu od VPN zadziałało !!!
MeIr
27

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.

Poprawka

  1. Usuń zaznaczenie opcji Udostępnianie plików i drukarek w sieciach Microsoft w karcie sieciowej vEthernet (DockerNAT) (połączenie można znaleźć w Centrum sieci i udostępniania systemu Windows ).
  2. Sprawdź go ponownie i upewnij się, że jest włączony.
jiminikiz
źródło
Pracował dla mnie idealnie, dzięki!
LewisCheng-MSFT
Najwyraźniej to zadziałało również dla mnie. Sprawdziłem Zaporę systemu Windows i miałem już poprawną regułę, prawdopodobnie wstępnie zainstalowaną przez samego dockera.
Davide Inglima
Byłoby miło wiedzieć, dlaczego to działa i jaka jest rzeczywista główna przyczyna problemu. Wydaje się, że zdarza się to często.
Jason Rowe
Problem w tym, że musisz to zrobić ponownie po restarcie systemu
AFD
@AFD, ciekawe, nie mam tego problemu.
jiminikiz
22

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.

jrk
źródło
WOW, to rozczarowujący błąd ... Szukałem przez cały dzień, dziękuję
FAjir
to prawie zadziałało. nie otrzymuję komunikatu zapory sieciowej, ale pole wyboru nie pozostaje zaznaczone!
jokab
17

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.

Zdjęcie 1

Ryc.2

Barry Holroyd
źródło
1
Pracował dla mnie! Ale interfejs użytkownika wyglądał inaczej w Kaspersky ES 10. Można go znaleźć w następujący sposób: zakładka Ustawienia> Wybierz „Zapora sieciowa” po lewej stronie> kliknij przycisk „Reguły pakietów sieciowych”> Wybierz „Lokalne połączenie TCP”> Wybierz Edytuj u góry
Simon B.
1
Zamiast usunąć 445 z listy, zmieniłem „Akcję” z „Zablokowane” na „Według reguł aplikacji” i to zadziałało. Wydaje mi się, że usunięcie 445 z „Usług lokalnych (TCP)” i utworzenie nowej reguły „Docker SMB Mount” z akcją „Według reguł aplikacji” powinno również działać.
Jimson Kannanthara James
Ten pracował dla mnie. Musiałem wstrzymać Kaspersky, a następnie spróbować włączyć dysk współdzielony w Docker dla Windows.
gdyrrahitis
Dziękujemy za udostępnienie rozwiązania dla Kaspersky. U mnie to zadziałało.
namit
Miałem ten sam problem i podążałem
Anthony O.
11

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:

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

Zmień nazwę w cudzysłowie, jeśli wirtualne połączenie sieciowe Hyper-V Twojej maszyny nazywa się czymś innym.

mzamora
źródło
U mnie zadziałało jak urok. Uruchomiono polecenie w sesji programu Powershell 6 na systemie Windows 10 10.0.17763 kompilacji 17763, Docker 18.09.2 kompilacji 6247962 i uruchomieniu pakietu Norton Security Suite.
Adam
9

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

Arash Moosapour
źródło
To zadziałało dla mnie, gdy sugestie dotyczące udostępniania wydruku plików nie. Każde połączenie Allow local (LAN) access when using VPNbył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.
Aaron
Nie działało dla mnie, musiałem odłączyć Cisco AnyConnect, aby udostępniać dyski. Jakieś pomysły?
Jack,
Najwyraźniej nasi wojownicy sieci korporacyjnej zabezpieczyli 0.0.0.0/0, więc nie mam szczęścia :-(
Jack
8

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.

Klient NordVPN

Maximilian Ast
źródło
2
Dziękuję Ci! To rozwiązało to dla mnie. Utknąłem na 2 tygodnie!
user3034
1
Dziękuję bardzo! Kilka godzin spędzonych na zabawie z ustawieniami sieciowymi, to jedyna rzecz, która zadziałała!
AnotherShruggingPhysicist
6

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:

  • Utwórz regułę dla połączenia IN, ponieważ powinieneś pozwolić Dockerowi łączyć się z twoim hostem i ustawić go na Zezwalaj

wprowadź opis obrazu tutaj

  • Skonfiguruj port poprawnie, jak wyjaśniono w dokumentacji 445:

wprowadź opis obrazu tutaj

  • Skonfiguruj zdalny adres IP:

wprowadź opis obrazu tutaj

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ć.

ReynierPM
źródło
Dzięki Reynier - śledziłem to, co pokazałeś najlepiej, jak potrafiłem, w odpowiedniku Zapory systemu Windows. - Zakładka Ogólne = "Włączone" - Zakładka Protokoły i porty = Protokół TCP i port lokalny = 445 - Zakładka Zakres = Zdalny adres IP = 10.0.75.2 Ale otrzymałem ten sam komunikat o błędzie. Dozwolone wszystkie porty i adresy IP - ten sam wynik. Inna zasada ma pierwszeństwo?
Ribeye,
Będzie lepiej, jeśli dodasz kilka zrzutów ekranu z tego, co masz, ponieważ nienawidzę Zapory systemu Windows i nigdy wcześniej się z tym nie
radziłem
jak wybrać aplikację „System”?
Küzdi Máté
Nie ma potrzeby dodawania aplikacji „System”, ale należy się upewnić, że sieć DockerNAT jest zaufana w znanych sieciach z zakresem adresów IP 10.0.75.1/24
Miguel Febres
Nie używamy ESET: /
Ionel Lupu
4

Ż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!

Samuel Neugber
źródło
4

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. wprowadź opis obrazu tutaj

Averell
źródło
3

Miałem ten sam problem i wypróbowałem wszystkie poprawki - i okazało się, że potrzeba więcej niż jednej:

  • Dodaj regułę zapory (Norton Security for me)
  • Ustaw sieć jako prywatną
  • Udostępnij dysk

Napisałem pełne wyjaśnienie na http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/

Simon Williams
źródło
1
„Chociaż ten link może odpowiedzieć na pytanie, lepiej jest zawrzeć tutaj zasadnicze części odpowiedzi i podać link do odniesienia. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie ”.
McGrady
Kluczowe dla mnie było uczynienie sieci Dockera prywatną.
Mike Caron
3

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ć-

wprowadź opis obrazu tutaj

rowmoin
źródło
3

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!

Czarna Dalia
źródło
pomogło wyłączenie firewalla dla określonego połączenia (dockerNat). Dziękuję Ci bardzo!
Mafu
Proszę wyjaśnić, w jaki sposób dokładnie wyłączyłeś zaporę Windows Defender dla określonej karty sieciowej / połączenia?
vulcan raven
3

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.

ustawienie bloku TCP 445

ustawienie dysków współdzielonych

khanhkid
źródło
Właśnie zdałem sobie sprawę, że osobiście dodałem tę regułę zapory sieciowej, gdy wyciekły narzędzia hakerskie NSA. Dzięki!
Danny Z
2

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

wprowadź opis obrazu tutaj

Wybierz „ Zezwól programowi na uruchomienie

wprowadź opis obrazu tutaj

Wybierz z listy „com.docker.service” i naciśnij „ Usuń

wprowadź opis obrazu tutaj

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

ponkape
źródło
2

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

Andrei
źródło
1
Spróbowałem dosłownie wszystkiego innego, tylko to rozwiązanie zadziałało. Dzięki!
Charis Moutafidis
2

W przypadku programu AVG Internet Security włączenie trybu udostępniania połączenia internetowego w ustawieniach Zapory sieciowej załatwiło sprawę.

wprowadź opis obrazu tutaj

Sohail
źródło
2

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 Otwórz określone ustawienia zapory sieciowej dla sieci publicznych

2. Odznacz to pole wyboru Odznacz to pole wyboru

baumgarb
źródło
2

Korzystając z Kaspersky Internet Security, możesz łatwo rozwiązać ten problem, jeśli zmienisz vEthernet (DockerNAT)typ karty sieciowej na Trusted network.

Ustawienia> Ochrona> Zapora> Sieci> vEthernet (DockerNAT)> Wybierz „Sieć zaufana”

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

xxxbence
źródło
2

25 stycznia 2020

Wygląda na to, że jest to problem w starszych wersjach, zainstalowałem ostatnią wersję:

Docker version 19.03.5, build 633a0ea

i działało dla mnie bez żadnej konfiguracji.

wprowadź opis obrazu tutaj

YCF_L
źródło
1

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”.

Paul Olson
źródło
1

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.

Kelvin Confesor
źródło
Jeśli potrzebujesz obu (VPN AnyConnect i Docker), zobacz mój komentarz stackoverflow.com/a/58406873/9064636
Averell
1

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:8000do istniejącego polecenia docker run.

Więc

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

stanie się

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

Upewnij się, że port nie jest używany, w przeciwnym razie pojawi się ten błąd:

Bind for 0.0.0.0:8000 nie powiodło się: port jest już przydzielony

Kumar Joshi
źródło
1

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:

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.

"

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ą.

BZ
źródło
0

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.

Ankush K.
źródło
0

Zrobiło to dla mnie (po kilku godzinach prób-n-błędu) zmiana maski podsieci z 255.255.255.240na 255.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.240nie 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.

Docker Desktop edge, 2.0.4.1 (34207)
gimlichael
źródło