การตั้งค่าไฟร์วอลล์ Windows เพื่ออนุญาตให้ Docker สำหรับ Windows แชร์ไดรฟ์


139

Windows Firewall ปิดกั้นความพยายามในการอนุญาตให้ Docker สำหรับ Windows แชร์ C: บนเครื่อง windows 10

ทำงานได้ดีเมื่อปิดไฟร์วอลล์ Windows เมื่อมันมาถึงฉันได้รับ

ไฟร์วอลล์กำลังบล็อกการแชร์ไฟล์ระหว่าง Windows และคอนเทนเนอร์ ดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติม

เอกสารกล่าวว่า

คุณไม่จำเป็นต้องเปิดพอร์ต 445 ในเครือข่ายอื่น โดยค่าเริ่มต้นอนุญาตให้เชื่อมต่อกับ 10.0.75.1 พอร์ต 445 (โฮสต์ Windows) จาก 10.0.75.2 (เครื่องเสมือน)

ฉันเป็น "googled out" ในการพยายามหาวิธีทำ - มีคนแนะนำได้ไหม


20
Cisco AnyConnect VPN บล็อกสิ่งนี้ให้ฉันหลังจากออกจาก VPN แล้วก็ใช้งานได้
Chris Wolf

1
ฉันมี Cisco ปิดกั้นฉัน แต่ฉันจำเป็นต้องอยู่บน VPN รวมถึงการแชร์ Docker ... ความคิดใด ๆ
Nicolas Irisarri

1
ฉันติดตามสิ่งนี้สำหรับ Norton Firewall และทำงานได้อย่างสมบูรณ์แบบstackoverflow.com/questions/45159006/…
Robin Sanner

ดูโพสต์ด้านล่างที่ตอบคำถามนี้superuser.com/questions/1470821/ …
Aravind S

1
@ NicolasIrisarri: ฉันแก้ไขปัญหาเดียวกัน (ต้องใช้ทั้งสองอย่างพร้อมกัน) วิธีการแก้ปัญหาคือการใช้เครือข่ายย่อยที่แตกต่างจากที่ปลอดภัยโดย AnyConnect ดูคำตอบของฉันด้านล่าง: stackoverflow.com/a/58406873/9064636
Averell

คำตอบ:


151

คุณไม่จำเป็นต้องแชร์ไดรฟ์ C แต่ติดตั้งใหม่ (หรืออาจยกเลิกการเลือก - คลิกตกลง - จากนั้นตรวจสอบ) บริการแชร์ไฟล์และพิมพ์บนการ์ดเครือข่ายเสมือน Hyper-V ดูบทความนี้

นอกจากนี้หากมีข้อ จำกัด ในโปรไฟล์เครือข่ายของคุณ (เช่นสาธารณะ) ให้พิจารณาเปลี่ยนค่าเริ่มต้น "เครือข่ายที่ไม่ปรากฏชื่อ" สำหรับการ์ด "vEthernet (DockerNAT)" ให้เป็นส่วนตัวผ่านคำสั่ง PowerShell นี้ก่อนที่จะทำข้างต้น:

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

4
ฉันต้องปิด Docker สำหรับ Windows และรีสตาร์ทหลังจากเรียกใช้คำสั่ง Powershell ด้านบน คุณสามารถเรียกใช้Get-NetConnectionProfileเพื่อให้แน่ใจว่าDockerNATเครือข่ายอยู่ในPrivateหมวดหมู่
seangwright

1
ลิงก์ไปยังblog.olandese.nl/2017/05/03/…แก้ไขปัญหาของฉันได้ ขอบคุณมาก!
Andrie

1
สิ่งเหล่านี้ไม่ได้ผลสำหรับฉันดังนั้นฉันจึงลอง: stackoverflow.com/a/47837191/1895627
Andrei

3
ฉันไม่สามารถถอนการติดตั้งนั้นได้รับข้อผิดพลาด0x80071779ฉันพยายามปิดการใช้งาน -> เปิดใช้งาน ไฟร์วอลล์ยังปิดการใช้งาน ... ฉันพยายามตั้งค่าเป็นส่วนตัวยังคงใช้งานไม่ได้ความคิดใด ๆ
BrunoLM

2
ยกเลิกการติดตั้งบริการแชร์ไฟล์และพิมพ์:Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Marcel DB

73

ตกลงดังนั้นหลังจากทำงานในปัญหาเดียวกันฉันได้พบวิธีแก้ปัญหา

นี่คือสิ่งที่ฉันทำ:


ขั้นตอนที่ 1: เปิด ESET จากนั้นคลิกที่การตั้งค่า

คลิกการตั้งค่า

ขั้นตอนที่ 2: คลิกที่การป้องกันเครือข่าย

คลิกการป้องกันเครือข่าย

ขั้นตอนที่ 3: คลิกที่ตัวช่วยสร้างการแก้ไขปัญหา

คลิกตัวช่วยสร้างการแก้ไขปัญหา

ขั้นตอนที่ 4: ค้นหาการสื่อสาร10.0.75.2 (การตั้งค่า IP นักเทียบท่าเริ่มต้น) เพียงตรวจสอบว่าช่วง IP กำหนดไว้ภายในการตั้งค่านักเทียบท่าอย่างไร จากนั้นมองหา IP ที่อยู่ในช่วงนั้น

ค้นหาการเชื่อมต่อ

ขั้นตอนที่ 5: คลิกที่ปุ่มปลดล็อคจากนั้นคุณควรได้รับหน้าจอนี้

คลิกปลดบล็อก

วิธีนี้แก้ไขปัญหาให้กับตัวเอง

จากนั้นคุณสามารถไปที่กฎและตรวจสอบกฎที่เพิ่มเข้ามา


PS: นี่เป็นโพสต์แรกของฉันขอโทษสำหรับขั้นตอนที่ไม่ถูกต้อง


โพสต์นี้มีประโยชน์อย่างยิ่งสำหรับฉันเพราะเมื่อเพิ่มกฎอย่างที่อธิบายไว้ในเอกสารที่อยู่ IP ที่กล่าวถึงแตกต่างกัน ไป bezig!
DelphiLynx

11
สำหรับผู้ใช้ทั้งหมดของ ESET ออกมีนี้เป็นวิธีการแก้ขอขอบคุณ!
cudacoder

2
ผลงานยอดเยี่ยมจาก Franche Van Den Berg ขอบคุณ นี่เป็นทางออกสำหรับผู้ใช้ ESET และเป็นสิ่งที่สวยงามมาก
Vacilando

สำหรับ ESET ตรวจสอบให้แน่ใจว่าเครือข่ายนักเทียบท่าอยู่ในโซนที่เชื่อถือได้
WhiteKnight

วิธีการแก้ปัญหาที่แน่นอนนี้ทำงานให้ฉันอย่างไม่มีที่ติ ขอบคุณ!
khalid

63

โซลูชันนี้เท่านั้นที่ช่วยฉัน:

  • ไปที่ Hyper-V Manager -> Virtual Switch Manager -> DockerNAT -> ประเภทการเชื่อมต่อ: เปลี่ยนจากภายในเป็นส่วนตัวใช้เปลี่ยนกลับเป็นภายในใช้
  • รีสตาร์ท MobyLinuxVM
  • รีสตาร์ท Docker
  • ตั้งค่าโปรไฟล์เครือข่ายนักเทียบท่าเป็น 'ส่วนตัว' เรียกใช้คำสั่งใน PowerShell ในฐานะผู้ดูแลระบบ
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • รีเซ็ตการแชร์ไฟล์และเครื่องพิมพ์สำหรับเครือข่าย Microsoft บนการเชื่อมต่อ DockerNAT
  • ไปที่ Docker -> การตั้งค่า -> ไดรฟ์ที่ใช้ร่วมกันและแบ่งปัน C:

6
มูลค่า metioning ที่Set-NetConnectionProfileจะเรียกใช้ใน PowerShell ในฐานะผู้ดูแลระบบและไม่ใช่ Cmd ปกติ มันใช้งานได้ดีสำหรับฉัน แต่อะแดปเตอร์อีเธอร์เน็ตยังคงทำงานอยู่unidentified network
DarkMukke

3
FTW ระเบิดพรม ไม่มีวิธีแก้ปัญหาอื่นที่ใช้งานได้ ขอบคุณ
David West

ใช้งานได้ 100% ไม่มีตัวเลือกอื่นที่ใช้งานได้ในเวลานี้และทางออกที่ดีที่สุดคือตั้งค่าเครือข่ายเป็นส่วนตัว
ลอร์ด

ขอบคุณคน! คุณบันทึกวันของฉัน นี่เป็นวิธีเดียวในการแก้ไขข้อบกพร่องนี้
TimeCoder

ทำงานให้ฉัน โซลูชันอื่น ๆ ส่วนใหญ่ไม่ได้ ให้แน่ใจว่าคุณทำตามทุกขั้นตอน ฉันพลาด "ตั้งค่าโปรไฟล์เครือข่ายนักเทียบท่าเป็น 'ส่วนตัว' Set-NetConnectionProfile - อินเทอร์เฟซเครือข่าย" vEthernet (DockerNAT) "- เครือข่ายหมวดหมู่ส่วนตัว" ขั้นตอนที่อันตรายของตัวเอง
Mr Slim

54

ทางออกของฉันคือการตัดการเชื่อมต่อจาก VPN; นั่นเป็นสาเหตุของปัญหา


2
ฉันยังแก้ไขปัญหาหลังจากตัดการเชื่อมต่อจาก VPN ซึ่งแน่นอนว่าฉันไม่ได้ลองจนกว่าจะหมดความเป็นไปได้อื่น ๆ ทั้งหมด ถอนหายใจ
Kirkaiya

ฉันกำลังค้นหาครึ่งวันและเพียงต้องการตัดการเชื่อมต่อจาก VPN ขอบคุณ!
HELPME

1
ทางออกที่ง่าย .. ขอบคุณ!
MilanYadav

1
ขอบคุณ! ฉันลืมไคลเอนต์ VPN ของฉันที่เริ่มต้นโดยอัตโนมัติเมื่อบูต Windows
Fabio Formosa

ขอบคุณ! ฉันทำตามคำแนะนำต่าง ๆ โดยไม่ประสบความสำเร็จ แต่เมื่อตัดการเชื่อมต่อจาก VPN แล้วก็ใช้งานได้ !!!
ฉัน

27

ฉันไม่ได้ใช้ไฟร์วอลล์บุคคลที่สามใด ๆ เมื่อพบข้อผิดพลาดนี้ ฉันเชื่อว่าเป็นปัญหาของ Windows Firewall แต่การปิดการใช้งาน Windows Firewall ไม่ได้ผลสำหรับฉัน ในที่สุดฉันก็พบโพสต์บล็อกนี้หลังจากการวิจัยมาก: ข้อผิดพลาด Docker บน windows 10: ไฟร์วอลล์กำลังบล็อกการแชร์ไฟล์ ...

ท้ายที่สุดมันไม่เกี่ยวข้องกับ Windows Firewall ในตัว

การแก้ไข

  1. ยกเลิกการเลือก ไฟล์และการแชร์เครื่องพิมพ์สำหรับเครือข่าย Microsoftจากอะแดปเตอร์เครือข่ายvEthernet (DockerNAT) (คุณสามารถค้นหาการเชื่อมต่อในเครือข่าย Windows และ Sharing Center )
  2. ตรวจสอบอีกครั้งและตรวจสอบให้แน่ใจว่าเปิดใช้งานแล้ว

ทำงานให้ฉันอย่างสมบูรณ์แบบขอบคุณ!
LewisCheng-MSFT

เห็นได้ชัดว่ามันใช้งานได้สำหรับฉันเช่นกัน ฉันตรวจสอบ Windows Firewall แล้วและฉันมีกฎที่ถูกต้องแล้ว
Davide Inglima

ยินดีที่ได้ทราบว่าเหตุใดจึงใช้งานได้และสาเหตุที่แท้จริงของปัญหาคืออะไร ดูเหมือนจะเกิดขึ้นบ่อยครั้ง
Jason Rowe

ปัญหาคือคุณต้องทำอีกครั้งหลังจากรีบูตระบบ
AFD

@AFD ที่น่าสนใจฉันไม่ได้มีปัญหานั้น
jiminikiz

22

ไดรฟ์ C ของฉันหยุดการแชร์กับ Docker หลังจากการอัพเดต Windows 10 ล่าสุด ฉันได้รับปัญหาเดียวกันโดยบอกว่ามันถูกบล็อกโดยไฟร์วอลล์ Windows เมื่อพยายามแชร์ต่อ

เมื่อดูวิธีการแก้ปัญหาข้างต้นฉันพบสิ่งที่เหมาะกับฉันที่ง่ายกว่าสิ่งอื่นที่ฉันเห็นในหน้านี้ ในControl Panel \ All Items \ Network และ Sharing Centerบนการเชื่อมต่อvEthernet (DockerNAT)ฉันไม่ได้เลือกคุณสมบัติการแชร์ไฟล์และเครื่องพิมพ์สำหรับเครือข่าย Microsoftและบันทึกการตั้งค่า จากนั้นฉันตรวจสอบคุณสมบัติอีกครั้งเพื่อเปิดใช้งานอีกครั้งและบันทึกอีกครั้ง

ณ จุดนี้ฉันสามารถแชร์ C ไดรฟ์ใหม่ในการตั้งค่า Docker ได้ ฉันไม่รู้ว่าทำไมสิ่งนี้ถึงทำงานได้ แต่ไม่ใช่ปัญหาไฟร์วอลล์ซึ่งมีรายการสำหรับ DockerSmbMount แล้ว


ว้าวนี่เป็นข้อผิดพลาดที่น่าผิดหวังฉันค้นหาตลอดทั้งวันขอบคุณ
FAjir

เกือบจะใช้งานได้ ฉันไม่ได้รับข้อความไฟร์วอลล์ แต่ช่องทำเครื่องหมายไม่ได้ถูกทำเครื่องหมาย!
jokab

17

ฉันมีปัญหากับ Kaspersky; การปิด Kaspersky ทำงานได้ดังนั้นฉันจึงรู้ว่ามันเป็นไฟร์วอลล์ ในกรณีของฉัน Kaspersky บล็อกพอร์ต 445 ด้วยเหตุผลบางอย่าง ฉันต้องไปที่ Packet Rules สำหรับไฟร์วอลล์ Local Services (TCP) และลบ 445 ออกจากรายการบล็อกพอร์ต

ภาพ 1

ภาพที่ 2


1
ทำงานให้ฉัน! แต่ UI นั้นดูแตกต่างใน Kaspersky ES 10 ซึ่งพบได้ดังนี้: แท็บการตั้งค่า> เลือก "ไฟร์วอลล์" ทางด้านซ้าย> คลิกปุ่ม "กฎแพ็กเก็ตเครือข่าย"> เลือก "การเชื่อมต่อ TCP ท้องถิ่น"> เลือกแก้ไขที่ด้านบน
Simon B.

1
แทนที่จะลบ 445 ออกจากรายการเปลี่ยน 'การกระทำ' จาก 'ถูกบล็อก' เป็น 'ตามกฎแอปพลิเคชัน' และใช้งานได้สำหรับฉัน ดังนั้นฉันเดาเอา 445 จาก 'Local Services (TCP)' และสร้างกฎใหม่ 'Docker SMB Mount' ด้วยการกระทำ 'By Application Rules' ควรใช้งานได้
Jimson Kannanthara James

อันนี้ใช้ได้สำหรับฉัน ฉันต้องหยุด Kaspersky ชั่วคราวแล้วลองเปิดใช้งานไดรฟ์ที่ใช้ร่วมกันบน Docker สำหรับ Windows
gdyrrahitis

ขอบคุณสำหรับการแบ่งปันโซลูชันสำหรับ Kaspersky มันใช้งานได้สำหรับฉัน
namit

ฉันมีปัญหาเดียวกันและติดตามmatthewhorne.me/…
Anthony O.

11

สำหรับเครื่อง Windows 10 บนเครือข่ายโดเมนเมื่อสร้างอแด็ปเตอร์อีเทอร์เน็ตเสมือน Hyper-V จะได้รับการจัดประเภทเป็นเครือข่ายสาธารณะ คุณต้องเปลี่ยนเป็นเครือข่ายส่วนตัวเพื่ออนุญาตให้ใช้กฎ Windows Firewall ที่ผ่อนคลายยิ่งขึ้นดังนั้นจึงอนุญาตให้แชร์ไฟล์ได้

เรียกใช้คำสั่งต่อไปนี้ใน PowerShell:

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

เปลี่ยนชื่อในเครื่องหมายคำพูดหากการเชื่อมต่อเครือข่ายเสมือน Hyper-V ของเครื่องของคุณเรียกว่าอย่างอื่น


ทำงานเหมือนเสน่ห์สำหรับฉัน เรียกใช้คำสั่งในเซสชัน Powershell 6 บน Windows 10 v10.0.17763 build 17763, Docker v18.09.2 build 6247962 และรัน Norton Security Suite
อดัม

9

ปัญหาของฉันคือ Cisco Anyconnect VPN รบกวนการเชื่อมต่อเครือข่ายนักเทียบท่าภายใน

เพื่อแก้ไขปัญหานี้ไปที่:
การตั้งค่า Cisco Anyconnect> การตั้งค่า> ตรวจสอบAllow local (LAN) access when using VPN


สิ่งนี้ใช้ได้สำหรับฉันเมื่อไม่ได้แนะนำการแชร์ไฟล์พิมพ์ AnyConnect Allow local (LAN) access when using VPNได้รับการตรวจสอบแล้วดังนั้นผมจึงไม่ถูกตรวจสอบมันตัดการเชื่อมต่อ rechecked ตัวเลือกและการเชื่อมต่อ VPN นักเทียบท่าสำหรับ Windows จากนั้นใช้การแบ่งปันไดรฟ์ตามต้องการ
แอรอน

ไม่ได้ผลสำหรับฉันฉันต้องตัดการเชื่อมต่อ Cisco AnyConnect เพื่อแชร์ไดรฟ์ ความคิดใด ๆ
แจ็ค

เห็นได้ชัดว่านักรบเครือข่ายองค์กรของเรามีความปลอดภัย 0.0.0.0/0 ดังนั้นฉันจึงไม่โชคดี :-(
แจ็ค

8

ตามที่ระบุไว้ในคำตอบอีกคำตอบ Docker เล่นได้ไม่ดีกับ VPN หากคุณใช้ Nordvpn คุณต้องปิดการใช้งาน"Invisibility on LAN"และอาจเป็น"Internet Kill Switch" "อินเทอร์เน็ตฆ่าเปลี่ยน"

หากคุณทำเช่นนั้นควรใช้งานได้แม้กับ VPN ที่ใช้งานอยู่

ลูกค้า NordVPN


2
ขอบคุณ! วิธีนี้แก้ไขได้สำหรับฉัน ฉันติดอยู่ 2 สัปดาห์!
3034

1
ขอบคุณมาก! หลายชั่วโมงในการเล่นกับการตั้งค่าเครือข่ายนี่เป็นสิ่งเดียวที่เหมาะกับฉัน!
AnotherShruggingPhysicist

6

ขึ้นอยู่กับว่าคุณติดตั้งไฟร์วอลล์ใด ในกรณีของฉันฉันปิดใช้งาน Windows Firewall ในตัวและฉันใช้ ESET Smart Security ดังนั้นกฎของฉันดูเหมือน:

  • สร้างกฎสำหรับการเชื่อมต่อINเนื่องจากคุณควรอนุญาตให้ Docker เชื่อมต่อกับโฮสต์ของคุณและตั้งค่าเป็นอนุญาต

ป้อนคำอธิบายรูปภาพที่นี่

  • ตั้งค่าพอร์ตอย่างถูกต้องตามที่อธิบายไว้ในเอกสารความหมาย 445 :

ป้อนคำอธิบายรูปภาพที่นี่

  • ตั้งค่าที่อยู่ IP ระยะไกล:

ป้อนคำอธิบายรูปภาพที่นี่

บางทีนี่อาจไม่ใช่คำตอบเนื่องจากไม่เกี่ยวข้องกับ Windows Firewall แต่อาจให้คำแนะนำในสิ่งที่คุณต้องทำ


ขอบคุณ Reynier - ฉันติดตามสิ่งที่คุณแสดงว่าดีที่สุดเท่าที่จะทำได้ใน Windows Firewall ที่เทียบเท่า - แท็บทั่วไป = "เปิดใช้งาน" - แท็บโปรโตคอลและพอร์ต = โปรโตคอล TCP และพอร์ตท้องถิ่น = 445 - แท็บขอบเขต = ระยะไกล ip = 10.0.75.2 แต่ได้รับข้อความแสดงข้อผิดพลาดเดียวกัน อนุญาตพอร์ตทั้งหมดและที่อยู่ IP - ผลลัพธ์เดียวกัน กฎอื่นกำลังสำคัญกว่ากัน?
Ribeye

จะดีกว่าถ้าคุณเพิ่มภาพหน้าจอของสิ่งที่คุณเป็นเพราะฉันเกลียด Windows Firewall และไม่เคยจัดการกับมันมาก่อน ...
ReynierPM

คุณจะเลือกแอปพลิเคชัน "ระบบ" ได้อย่างไร?
KüzdiMáté

ไม่จำเป็นต้องเพิ่มแอปพลิเคชัน "ระบบ" แต่คุณต้องตรวจสอบให้แน่ใจว่าเครือข่าย DockerNAT นั้นเชื่อถือได้ในเครือข่ายที่รู้จักด้วยช่วง IP 10.0.75.1/24
Miguel Febres

เราไม่ได้ใช้ ESET: /
Ionel Lupu

4

ไม่มีข้อใดถูกเลยสำหรับฉัน

ในที่สุดสิ่งที่หลอกลวงก็คือการเปิดคุณสมบัติของเครือข่าย "vEthernet (DockerNAT)" และทำเครื่องหมายในช่อง "สวิตช์เสมือนจริง Hyper-V Extensible" ที่ด้านล่างของรายการภายใต้แท็บ "เครือข่าย"

ไม่แน่ใจว่านี่เป็นการแก้ไขจริงหรือไม่หรือแค่รีเซ็ตอะแดปเตอร์เครือข่ายให้ฉัน ... แต่มันใช้งานได้!


4

ดูเหมือนว่าหลายคนมีปัญหานี้เมื่อใช้งาน Cisco AnyConnect ฉันได้รับปัญหาเดียวกันและนี่คือวิธีที่ฉันจะแก้ไข:

สาเหตุ: Subnet ที่ใช้โดย Docker อยู่ในรายการเส้นทางที่ปลอดภัยจัดการโดย Cisco AnyConnect (ฉันเชื่อว่ารายการนี้ได้รับการจัดการโดยผู้ดูแลระบบ VPN ของคุณ)

วิธีแก้ปัญหา: เปลี่ยนซับเน็ตที่ใช้โดย Docker เพื่อไม่ทับซ้อนกับรายการที่จัดการโดย AnyConnect

ตัวอย่างเช่นในกรณีของฉันฉันเปลี่ยนจาก 10.0.75.0 (ซึ่งซ้อนทับกับ 10.0.0.0/8) เป็น 172.31.0.0/28 ป้อนคำอธิบายรูปภาพที่นี่


3

ฉันมีปัญหาเดียวกันและลองแก้ไขทั้งหมด - และปรากฏว่าจำเป็นต้องมีมากกว่าหนึ่ง:

  • เพิ่มกฎไฟร์วอลล์ (Norton Security สำหรับฉัน)
  • ทำให้เครือข่ายส่วนตัว
  • แบ่งปันไดรฟ์

ผมเคยเขียนคำอธิบายทั้งหมดที่http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/


1
“ ในขณะที่ลิงค์นี้อาจตอบคำถามได้ดีกว่าที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง คำตอบเฉพาะลิงก์อาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง”
McGrady

สำคัญที่นี่สำหรับฉันคือการทำให้เครือข่ายนักเทียบท่าเป็นส่วนตัว
Mike Caron

3

ไดรฟ์ G ของฉันหยุดการแชร์กับ Docker หลังจากการอัปเดต Windows 10 ครั้งล่าสุด ฉันได้รับปัญหาเดียวกันโดยบอกว่ามันถูกบล็อกโดยไฟร์วอลล์ Windows เมื่อพยายามแชร์ต่อ

จากนั้นฉันได้พยายามที่จะแก้ปัญหานี้โดยข้อเสนอแนะสองสามข้อ แต่ฉันไม่สามารถแก้ไขปัญหานั้นได้หลังจากที่ฉันพยายามรีเซ็ตข้อมูลประจำตัวด้านล่างของไดรฟ์ที่ใช้ร่วมกันและปัญหาของฉันได้รับการแก้ไข

ดังนั้นหากคุณต้องการคุณสามารถลองทำสิ่งนี้ -

ป้อนคำอธิบายรูปภาพที่นี่


3

ทุกสิ่งที่ทุกคนโพสต์ไม่ทำงานสำหรับฉัน

สิ่งนี้

ฉันติดตั้งรุ่น EDGE ฉันไปที่ WINDOWS DEFENDER และปิดการใช้งานไฟร์วอลล์สำหรับ DOCKER NAT (ไม่ใช่อะแดปเตอร์อีเธอร์เน็ตจริงของฉันเพียงแค่นักเทียบท่า)

เมื่อฉันปิดการใช้งาน windows defender / firewall มันก็ทำงานได้

ฮึ. หวังเป็นอย่างยิ่งว่าจะช่วยคุณบางคน!


ปิดการใช้งานไฟร์วอลล์สำหรับการเชื่อมต่อเฉพาะ (dockerNat) ช่วย ขอบคุณมาก!
Mafu

โปรดอธิบายว่าคุณปิดใช้งานไฟร์วอลล์ Windows Defender อย่างไรสำหรับอะแดปเตอร์เครือข่าย / การเชื่อมต่อที่เฉพาะเจาะจง
Raven vulcan

3

ในกรณีของฉันฉันปิดการใช้งาน "Block TCP 445" บนไฟร์วอลล์ Windows Defender ด้วยการรักษาความปลอดภัยขั้นสูงและใช้งานได้ จากนั้นเปิดใช้งานอีกครั้งหลังจากตั้งค่าไดรฟ์ที่ใช้ร่วมกันบน Docker

การตั้งค่า Block TCP 445

การตั้งค่าไดรฟ์ที่ใช้ร่วมกัน


ฉันเพิ่งรู้ว่าฉันได้เพิ่มกฎไฟร์วอลล์นี้เป็นการส่วนตัวเมื่อเครื่องมือแฮ็ค NSA รั่วไหลออกมา ขอบคุณ!
Danny Z

2

ฉันมีปัญหาเดียวกันกับ F-secure DeepGuard กำลังบล็อกบริการ Docker ทางออกของฉันคือ:

เปิดไคลเอนต์ที่ปลอดภัย F และคลิก " งาน "

ป้อนคำอธิบายรูปภาพที่นี่

เลือก " อนุญาตให้โปรแกรมเริ่มต้น "

ป้อนคำอธิบายรูปภาพที่นี่

เลือกจากรายการ "com.docker.service" และกด " ลบ "

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากนั้น รีสตาร์ทไคลเอ็นต์ Docker และลองสมัครใช้ไฟล์ร่วมกัน

คู่มือการแก้ไขปัญหาที่ดีมากเช่นกันที่นี่: ข้อผิดพลาด: ไฟร์วอลล์กำลังบล็อกการแชร์ไฟล์ระหว่าง Windows และคอนเทนเนอร์


2

ฉันมีปัญหาเดียวกันกับไฟร์วอลล์ที่ไม่อนุญาตให้ฉันแชร์ไดรฟ์ C ของฉัน ฉันลองใช้วิธีแก้ไขปัญหาข้างต้นทั้งหมดแล้วและไม่มีอะไรทำงานให้ฉัน จากนั้นฉันถอนการติดตั้งนักเทียบท่าอย่างสมบูรณ์จากเครื่องของฉันControl Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
จากนั้นไปที่เว็บไซต์นักเทียบท่าและคลิกGet Docker for Windows (Stable)
หลังจากนั้นฉันสามารถแชร์ไดรฟ์ C


1
ฉันลองอย่างอื่นทุกอย่างแล้ววิธีนี้ใช้ได้ผลสำหรับฉันเท่านั้น ขอบคุณคน!
Charis Moutafidis

2

สำหรับ AVG Internet Security การเปิดใช้งานโหมดการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตภายใต้การตั้งค่าไฟร์วอลล์นั้นเป็นเคล็ดลับสำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่


2

แม้หลังจากแน่ใจแล้วว่ากฎไฟร์วอลล์ขาเข้าได้รับการตั้งค่าอย่างเหมาะสมและแม้หลังจากถอนการติดตั้งและติดตั้งบริการแชร์ไฟล์และการพิมพ์ใหม่แต่ก็ไม่ได้ผลสำหรับฉัน

วิธีแก้ปัญหา:นอกจากนี้ฉันต้องทำสิ่งที่สามด้วย ฉันต้องปิดการใช้งานช่องทำเครื่องหมายป้องกันการเชื่อมต่อขาเข้าเมื่ออยู่บนเครือข่ายสาธารณะในการตั้งค่าไฟร์วอลล์เฉพาะสำหรับเครือข่ายสาธารณะ หลังจากนั้นก็เริ่มทำงานให้ฉันเช่นกัน ดูภาพหน้าจอที่แนบท้ายข้อความนี้

ไม่ทราบว่าตัวเลือกนี้มีมานานแล้ว ฉันกำลังทำงานกับ Win 10 Pro 1709 16299.402


1. เปิดการตั้งค่าไฟร์วอลล์เฉพาะสำหรับเครือข่ายสาธารณะ เปิดการตั้งค่าไฟร์วอลล์เฉพาะสำหรับเครือข่ายสาธารณะ

2. ยกเลิกการเลือกที่ช่องทำเครื่องหมายนี้ ยกเลิกการทำเครื่องหมายที่ช่องทำเครื่องหมายนี้


2

ใช้ Kaspersky Internet Security คุณสามารถแก้ปัญหานี้ได้อย่างง่ายดายถ้าคุณเปลี่ยนชนิดของอะแดปเตอร์เครือข่ายเพื่อvEthernet (DockerNAT)Trusted network

การตั้งค่า> การป้องกัน> ไฟร์วอลล์> เครือข่าย> vEthernet (DockerNAT)> เลือก "เครือข่ายที่เชื่อถือได้"

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


2

25 ม.ค. 2020

ดูเหมือนว่ามันเป็นปัญหาในเวอร์ชั่นเก่าฉันติดตั้งเวอร์ชันล่าสุด:

Docker version 19.03.5, build 633a0ea

และมันใช้งานได้สำหรับฉันโดยไม่มีการกำหนดค่าใด ๆ

ป้อนคำอธิบายรูปภาพที่นี่


1

ลิงค์นี้ด้านล่างดูเหมือนจะเป็นการแก้ไขที่ดีที่สุดที่ฉันได้พบ มันคงอยู่ตลอดการเรียบเครื่อง มีการอธิบายที่ดีที่สุดที่นี่: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3

ดูเหมือนว่าอินเทอร์เฟซเครือข่าย vEthernet จะถูกสร้างขึ้นแบบไดนามิกทุกครั้งที่ระบบเริ่มทำงานและถูกสร้างในกลุ่ม 'สาธารณะ' ซึ่งตรงข้ามกับในกลุ่ม 'ส่วนตัว' (ซึ่งเป็นที่ทำงาน) การแก้ไขในสคริปต์เริ่มต้น Docker หนึ่งตัว (เรียกใช้ในลิงก์ด้านบน) ทำให้คำสั่ง powershell / แก้ไขที่ David Tesar ทำไว้ข้างต้นเป็นไปโดยอัตโนมัติ ....

ฉันโชคดีมากที่ได้เพิ่มฟังก์ชันให้กับสคริปต์ซึ่งต่างจากการแก้ไขสคริปต์และเปลี่ยน 'ภายใน' เป็น 'ส่วนตัว'


1

ถ้าไม่ใช่ของงานดังกล่าวข้างต้นเพียงให้แน่ใจว่าคุณไม่ได้เชื่อมต่อกับVPN นั่นคือสิ่งที่เกิดขึ้นกับฉันฉันเชื่อมต่อกับ VPN โดยใช้ไคลเอนต์ Cisco AnyConnect เช่นกันตรวจสอบให้แน่ใจว่าคุณได้ตั้ง DNS แบบคงที่ในการตั้งค่าตัวเทียบท่า


หากคุณต้องการทั้ง (VPN AnyConnect และ Docker) ดูความคิดเห็นของฉันstackoverflow.com/a/58406873/9064636
Averell

1

ฉันลองทุกอย่างที่ระบุไว้ที่นี่และในhttps://github.com/docker/for-win/issues/360

ไม่มีอะไรทำงานให้ฉัน

ฉันเรียกใช้สภาพแวดล้อมการพัฒนาของฉันบนคอนเทนเนอร์นักเทียบท่าและในขณะที่ใช้ VPN ขององค์กร (Cisco AnyConnect) ฉันต้องติดตั้งไดรฟ์ในเครื่องของฉันบนคอนเทนเนอร์เพื่อเข้าถึงไฟล์โครงการของฉัน

นี่เป็นนักเทียบท่าแฮ็คที่เหมาะกับฉัน เพิ่ม--publish 8000:8000คำสั่งเรียกใช้นักเทียบท่าที่มีอยู่

ดังนั้น

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

จะกลายเป็น

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

ตรวจสอบให้แน่ใจว่าไม่ได้ใช้พอร์ตอื่นคุณจะได้รับข้อผิดพลาดนี้:

การเชื่อมโยงสำหรับ 0.0.0.0:8000 ล้มเหลว: พอร์ตได้รับการจัดสรรแล้ว


1

ในระยะสั้นให้ใช้รุ่น Edge

Edge Edge ของ Docker สำหรับ Windows ตั้งแต่ 2.1.5.0 (2019-11-04) มีการใช้งานใหม่ของการแชร์ไฟล์โดยไม่ต้องมีการแก้ไขไฟร์วอลล์ https://docs.docker.com/docker-for-windows/edge-release-notes /

"การใช้ไฟล์ร่วมกันใหม่: นักเทียบท่าเดสก์ท็อปแนะนำการใช้งานไฟล์ร่วมกันใหม่ซึ่งใช้ซ็อกเก็ต gRPC, FUSE และ Hypervisor แทนที่จะใช้เครือข่าย Samba, CIFS และ Hyper-V การใช้งานใหม่นี้ช่วยเพิ่มประสิทธิภาพ I / O นอกจากนี้เมื่อใช้งาน ระบบไฟล์ใหม่:

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.

"

คุณสามารถดาวน์โหลดรุ่นขอบ: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe

หมายเหตุ ณ ตอนนี้เวอร์ชั่นขอบของ 2.1.7.0 จะถูกใช้สำหรับการเปิดตัวที่เสถียรในครั้งต่อไป: "หมายเหตุ: Docker Desktop Edge 2.1.7.0 เป็นตัวเลือกการเปิดตัวสำหรับการเปิดตัว Stable ที่สำคัญในอนาคต" ดังนั้นความเสี่ยงในการใช้ Edge จึงค่อนข้างต่ำ หรือคุณสามารถรอรุ่นเสถียรต่อไปเพื่อหลีกเลี่ยงปัญหาไฟร์วอลล์ทั้งหมด


0

สำหรับผู้ที่ไม่สามารถแก้ไขปัญหานี้ได้ด้วยวิธีการใด ๆ คุณสามารถลองทำสิ่งนี้: แผนที่ไดรฟ์ด้วยตนเองลงในโฮสต์ของนักเทียบท่า:

https://github.com/docker/for-win/issues/466#issuecomment-416682825

การวิจัยอยู่ที่นี่: https://github.com/docker/for-win/issues/466#issuecomment-398305463


0

ฉันพบว่ามันค่อนข้างง่าย เพียงไปที่การเชื่อมต่อเครือข่ายของคุณ คุณสามารถไปที่แผงควบคุม / เครือข่ายและการแบ่งปัน คุณจะพบกับการเชื่อมต่อที่หลากหลาย ค้นหาการเชื่อมต่อ Docker เลือกสิ่งที่เคยเป็นค่าเริ่มต้น หลังจากเลือกเครือข่ายแล้วให้ไปที่คุณสมบัติ ในส่วนคุณสมบัติเปิดใช้งานตัวเลือกHyper-V Extensible สลับเสมือน วิธีนี้จะช่วยให้คอนเทนเนอร์เสมือนใช้การ์ดเครือข่าย


0

สิ่งใดที่ทำให้ฉัน (หลังจากหลายชั่วโมงของการลองผิดลองถูก) เปลี่ยน Subnet Mask จาก255.255.255.240เป็น255.255.255.0(ซึ่งไม่ควรเปลี่ยนแปลงอะไร)

ในฐานะส่วนหนึ่งของข้อผิดพลาดในการทดลองใช้ฉันได้ทำทุกอย่างที่ระบุไว้ในบทความ แต่ไม่ประสบความสำเร็จใด ๆ .. แต่ขั้นตอนสุดท้ายนี้ทำ .. และการย้อนกลับไปสู่255.255.255.240วงจรที่ดี

ฉันยอมรับมันไม่สมเหตุสมผลหรอก .. แต่มันอาจเกี่ยวข้องกับสถานะภายในเท่านั้นที่ถูกกระตุ้นจากการเปลี่ยนแปลงเครือข่าย

อย่างไรก็ตามถ้าฉันช่วยแค่อันเดียวมันก็คุ้มค่ากับความพยายาม

Docker Desktop edge, 2.0.4.1 (34207)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.