การตั้งค่าไฟร์วอลล์ 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.