Cài đặt tường lửa Windows để cho phép Docker cho Windows chia sẻ ổ đĩa


139

Tường lửa Windows đang chặn nỗ lực của tôi để cho phép Docker cho Windows chia sẻ C: trên máy Windows 10.

Hoạt động tốt khi Windows Firewall tắt. Khi tôi nhận được

Tường lửa đang chặn Chia sẻ tệp giữa Windows và các thùng chứa. Xem tài liệu để biết thêm.

Các tài liệu nói

Bạn không cần phải mở cổng 445 trên bất kỳ mạng nào khác. Theo mặc định, cho phép kết nối tới 10.0.75.1 cổng 445 (máy chủ Windows) từ 10.0.75.2 (máy ảo).

Tôi đang "loay hoay" khi cố gắng tìm cách làm điều đó - ai đó có thể khuyên không?


20
Cisco AnyConnect VPN đã chặn điều này đối với tôi, sau khi thoát khỏi VPN, nó đã hoạt động.
Chris Wolf

1
Tôi có Cisco chặn tôi nhưng tôi KHÔNG NÊN tham gia VPN cũng như chia sẻ Docker ... Có ý tưởng nào không?
Nicolas Irisarri

1
Tôi đã làm theo cái này cho Norton Firewall và nó hoạt động hoàn hảo stackoverflow.com/questions/45159006/
Khăn

Xem bài đăng dưới đây trả lời câu hỏi này superuser.com/questions/1470821/ từ
Aravind S

1
@NicolasIrisarri: Tôi đã giải quyết cùng một vấn đề (Cần sử dụng cả hai cùng một lúc). Giải pháp là sử dụng một mạng con khác với mạng con được bảo mật bởi AnyConnect. Xem câu trả lời của tôi dưới đây: stackoverflow.com/a/58406873/9064636
Averell

Câu trả lời:


151

Bạn thực sự không cần chia sẻ ổ C mà chỉ cài đặt lại (hoặc có khả năng thậm chí bỏ chọn - nhấp OK - sau đó kiểm tra) dịch vụ chia sẻ Tệp và In trên thẻ mạng ảo Hyper-V. Xem bài viết này.

Ngoài ra, nếu có các hạn chế đối với cấu hình mạng của bạn (tức là công khai), hãy xem xét thay đổi "mạng không xác định" mặc định cho thẻ "vEthernet (DockerNAT)" thành riêng tư thông qua lệnh PowerShell này trước khi thực hiện các thao tác trên:

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

4
Tôi đã phải đóng Docker cho Windows và khởi động lại nó sau khi chạy lệnh Powershell ở trên. Bạn có thể chạy Get-NetConnectionProfileđể đảm bảo rằng DockerNATmạng nằm trong Privatedanh mục
seangwright

1
Liên kết đến blog.olandese.nl/2017/05/03/ đã giải quyết vấn đề của tôi. Cảm ơn nhiều!
Andrie

1
Không ai trong số này làm việc cho tôi vì vậy tôi đã thử: stackoverflow.com/a/47837191/1895627
Andrei

3
Tôi không thể gỡ cài đặt đó, tôi gặp lỗi 0x80071779, tôi đã cố gắng vô hiệu hóa -> enable. Ngoài ra tường lửa cũng bị tắt ... Tôi cũng đã cố gắng đặt thành riêng tư, vẫn không hoạt động, có ý tưởng nào không?
BrunoLM

2
deinstall Dịch vụ chia sẻ tệp và in:Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Marcel DB

73

Ok, vì vậy sau khi chạy trong cùng một vấn đề, tôi đã tìm thấy một Giải pháp.

Đây là những gì tôi đã làm:


Bước 1: Mở ESET. Sau đó bấm vào Cài đặt

nhấp vào thiết lập

Bước 2: Nhấp vào Bảo vệ mạng

nhấp vào bảo vệ mạng

Bước 3: Nhấp vào Trình hướng dẫn khắc phục sự cố

nhấp vào hướng dẫn xử lý sự cố

Bước 4: Tìm Giao tiếp 10.0.75.2 (Cài đặt IP docker mặc định) Chỉ cần kiểm tra phạm vi IP được xác định trong cài đặt docker của bạn. Sau đó tìm kiếm IP nằm trong phạm vi đó.

tìm kết nối

Bước 5: Nhấp vào nút Bỏ chặn , sau đó bạn sẽ nhận được màn hình này.

nhấp vào bỏ chặn

Điều này giải quyết vấn đề cho bản thân tôi.

Sau đó, bạn có thể đi đến Quy tắc và kiểm tra quy tắc đã được thêm.


PS: Đây là bài viết đầu tiên của tôi, xin lỗi vì bất kỳ thủ tục không chính xác.


Bài đăng này cực kỳ hữu ích đối với tôi, bởi vì khi thêm các quy tắc như được giải thích trong các tài liệu, các địa chỉ IP được đề cập ở nơi khác nhau. Đã đi bezig!
DelphiLynx

11
Đối với tất cả người dùng ESET ngoài kia, đây là giải pháp, cảm ơn bạn!
cudacoder

2
Một đóng góp xuất sắc của Franche Van Den Berg, cảm ơn. Đây thực sự là giải pháp cho người dùng ESET và là một giải pháp rất thanh lịch.
Vacilando

Đối với ESET, đảm bảo rằng mạng docker nằm trong Vùng tin cậy
WhiteKnight

Giải pháp chính xác này làm việc cho tôi hoàn hảo. Cảm ơn bạn!
khalid

63

Chỉ có giải pháp này giúp tôi:

  • Chuyển đến Trình quản lý Hyper-V -> Trình quản lý chuyển đổi ảo -> DockerNAT -> Loại kết nối: thay đổi từ nội bộ sang riêng tư, áp dụng, thay đổi trở lại nội bộ, áp dụng
  • Khởi động lại MobyLinuxVM
  • Khởi động lại Docker
  • Đặt cấu hình mạng Docker thành 'Riêng tư'. Chạy lệnh trong PowerShell với tư cách quản trị viên
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Đặt lại chia sẻ tệp và máy in cho Microsoft Networks trên kết nối DockerNAT
  • Chuyển đến Docker -> Cài đặt -> Ổ đĩa được chia sẻ và chia sẻ C:

6
đáng Set-NetConnectionProfileđể tham gia trong PowerShell với tư cách quản trị viên chứ không phải Cmd bình thường. Nó hoạt động tốt với tôi nhưng bộ điều hợp Ethernet vẫn cònunidentified network
DarkMukke

3
thảm ném bom FTW. Không có giải pháp nào khác làm việc. Cảm ơn.
David West

Điều này làm việc 100%. Không có tùy chọn nào khác hoạt động trong thời gian này và giải pháp cuối cùng là đặt mạng thành Riêng tư.
chúa tể

Cảm ơn người đàn ông! Bạn đã cứu ngày của tôi. Đó chỉ là một cách làm việc để sửa lỗi chết tiệt này.
Bộ đếm thời gian

Đã làm cho tôi. Hầu hết các giải pháp khác thì không. đảm bảo bạn làm theo TẤT CẢ các bước. Tôi đã bỏ lỡ bước "Đặt cấu hình mạng Docker thành 'Riêng tư' Set-NetConnectionProfile -interfacealias" vEthernet (DockerNAT) "-NetworkC Category Private" trong tình trạng nguy hiểm của riêng tôi.
Mr Slim

54

Giải pháp của tôi là ngắt kết nối khỏi VPN; điều đó đã gây ra vấn đề


2
Tôi cũng đã giải quyết vấn đề sau khi ngắt kết nối với VPN, tất nhiên, tôi đã không thử cho đến khi cạn kiệt tất cả các khả năng khác. thở dài
Kirkaiya

Tôi đã tìm kiếm một nửa ngày và chỉ cần ngắt kết nối với VPN .. Cảm ơn!
GIÚP

1
Giải pháp đơn giản..Cảm ơn!
MilanYadav

1
Cảm ơn! Tôi đã quên Máy khách VPN của mình tự động khởi động khi windows khởi động.
Fabio Formosa

Cảm ơn bạn! Tôi đã làm theo hướng dẫn khác nhau nhưng không thành công, nhưng một khi bị ngắt kết nối với VPN, nó đã hoạt động !!!
MeIr

27

Tôi đã không sử dụng bất kỳ tường lửa của bên thứ ba khi gặp phải lỗi này. Tôi đã bị thuyết phục rằng đó là sự cố Tường lửa của Windows, mặc dù việc tắt Tường lửa Windows không hoạt động đối với tôi. Cuối cùng tôi đã tìm thấy bài đăng trên blog này sau nhiều nghiên cứu: Lỗi Docker trên windows 10: Tường lửa đang chặn tệp Chia sẻ ...

Nó đã kết thúc KHÔNG phải làm với Tường lửa tích hợp trong Windows.

Sửa chữa

  1. Bỏ chọn Chia sẻ tệp và máy in cho Microsoft Networks từ bộ điều hợp mạng vEthernet (DockerNAT) (bạn có thể tìm thấy kết nối trong Trung tâm chia sẻ và mạng Windows ).
  2. Kiểm tra lại và chắc chắn rằng nó được kích hoạt.

Làm việc cho tôi hoàn hảo, Cảm ơn!
LewisCheng-MSFT

Rõ ràng điều này làm việc cho tôi là tốt. Tôi đã kiểm tra Tường lửa Windows và tôi đã có quy tắc chính xác, có thể được cài đặt sẵn bởi chính docker.
Davide Inglima

Sẽ rất tốt để biết lý do tại sao điều này hoạt động và nguyên nhân gốc rễ thực sự của vấn đề là gì. Có vẻ xảy ra thường xuyên.
Jason Rowe

Vấn đề là bạn phải làm lại sau khi khởi động lại hệ thống
AFD

@AFD, thật thú vị, tôi không có vấn đề đó.
jiminikiz

22

Ổ C của tôi đã ngừng được chia sẻ với Docker sau bản cập nhật Windows 10 gần đây. Tôi đã gặp vấn đề tương tự khi nói rằng nó đã bị chặn bởi tường lửa Windows khi cố gắng chia sẻ lại nó.

Nhìn qua các giải pháp trên, tôi thấy một cái gì đó làm việc cho tôi đơn giản hơn bất cứ thứ gì tôi thấy trên trang này. Trong Bảng điều khiển \ Tất cả các mục trong Bảng điều khiển \ Mạng và Trung tâm chia sẻ , trên kết nối vEthernet (DockerNAT) , tôi đã bỏ chọn thuộc tính Chia sẻ tệp và máy in cho Microsoft Networks và lưu cài đặt. Sau đó, tôi đã kiểm tra lại tài sản một lần nữa để lưu lại và lưu lại.

Tại thời điểm này, tôi đã có thể chia sẻ lại ổ C trong cài đặt Docker. Tôi không biết tại sao điều này hoạt động nhưng nó không phải là vấn đề tường lửa, vốn đã có một mục cho DockerSmbMount.


WOW đây là một lỗi đáng thất vọng .. Tôi đã tìm kiếm cả ngày dài cảm ơn bạn
FAjir

Điều này gần như đã làm việc. Tôi không nhận được thông báo tường lửa nhưng hộp kiểm không được đánh dấu!
jokab

17

Tôi gặp vấn đề này với Kaspersky; Tắt Kaspersky hoạt động, vì vậy tôi biết đó là tường lửa. Trong trường hợp của tôi, Kaspersky đã chặn cổng 445 vì một số lý do. Tôi đã phải đi đến Quy tắc gói cho Tường lửa, Dịch vụ cục bộ (TCP) và xóa 445 khỏi danh sách các cổng khối.

Hình 1

Hình 2


1
Đã làm cho tôi! Nhưng giao diện người dùng trông khác nhau trong Kaspersky ES 10. Nó có thể được tìm thấy như thế này: tab Cài đặt> Chọn "Tường lửa" ở bên trái> nút bấm "Quy tắc gói mạng"> Chọn "Kết nối TCP cục bộ"> Chọn Chỉnh sửa ở trên cùng
Simon B.

1
Thay vì xóa 445 khỏi danh sách, hãy thay đổi 'Hành động' từ 'Bị chặn' thành 'Theo quy tắc ứng dụng' và nó hoạt động với tôi. Vì vậy, tôi đoán loại bỏ 445 khỏi 'Dịch vụ cục bộ (TCP)' và tạo quy tắc mới 'Docker SMB Mount' bằng hành động 'Theo quy tắc ứng dụng' cũng sẽ hoạt động.
Jimson Kannanthara James

Cái này làm việc cho tôi Tôi đã phải tạm dừng Kaspersky và sau đó thử kích hoạt ổ đĩa được chia sẻ trên Docker cho Windows.
viêm màng não

Cảm ơn bạn đã chia sẻ giải pháp cho Kaspersky. Nó làm việc cho tôi.
tên

Tôi có cùng một vấn đề và theo dõi matthewhorne.me/ Kẻ
Anthony O.

11

Đối với các máy Windows 10 trên mạng miền, khi tạo bộ điều hợp Ethernet ảo Hyper-V, nó được phân loại là mạng công cộng. Bạn phải thay đổi nó thành một mạng riêng để cho phép các quy tắc Tường lửa Windows thoải mái hơn và do đó cho phép chia sẻ tệp.

Chạy lệnh sau trong PowerShell:

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

Thay đổi tên trong dấu ngoặc kép nếu kết nối mạng Hyper-V ảo của máy bạn được gọi là tên khác.


Làm việc như một cơ duyên đối với tôi. Chạy lệnh trong phiên Powershell 6 trên Windows 10 v10.0.17763 build 17763, Docker v18.09.2 build 6247962 và chạy Norton Security Suite.
Adam

9

Vấn đề của tôi là Cisco Anyconnect VPN đã can thiệp vào mạng docker nội bộ

để khắc phục điều này, hãy truy cập:
Cisco Anyconnect Settings> Preferences> checkAllow local (LAN) access when using VPN


Điều này làm việc cho tôi khi các đề xuất chia sẻ tệp in không. Bất kỳ Allow local (LAN) access when using VPNkết nối nào đã được kiểm tra nên tôi đã bỏ chọn nó, ngắt kết nối, kiểm tra lại tùy chọn và kết nối lại với VPN. Docker cho Windows sau đó áp dụng chia sẻ ổ đĩa như mong muốn.
Aaron

Không làm việc cho tôi, tôi đã phải ngắt kết nối Cisco AnyConnect để chia sẻ ổ đĩa. Có ý kiến ​​gì không?
Jack

Rõ ràng các chiến binh mạng công ty của chúng tôi đã bảo mật 0,0.0.0 / 0, vì vậy tôi không gặp may :-(
Jack

8

Như đã nêu trong một câu trả lời khác, Docker không chơi tốt với VPN. Nếu bạn đang sử dụng Nordvpn, bạn phải tắt "Tàng hình trên mạng LAN" và có thể là "Internet Kill Switch" .

Nếu bạn đã làm như vậy thì nó sẽ hoạt động ngay cả với VPN đang hoạt động.

Khách hàng NordVPN


2
Cảm ơn bạn! Điều này đã giải quyết nó cho tôi. Tôi bị kẹt trong 2 tuần!
dùng3034

1
Cảm ơn bạn rất nhiều! Vài giờ sau khi chơi với các cài đặt mạng, đây là điều duy nhất phù hợp với tôi!
AnotherShruggingPhysicist

6

Điều đó phụ thuộc vào tường lửa nào bạn đã cài đặt. Trong trường hợp của tôi, tôi đã vô hiệu hóa Tường lửa Windows tích hợp và tôi đang sử dụng ESET Smart Security để các quy tắc của tôi trông như sau:

  • Tạo quy tắc cho kết nối IN vì bạn nên cho phép Docker kết nối với máy chủ của mình và đặt nó thành Cho phép

nhập mô tả hình ảnh ở đây

  • Thiết lập cổng đúng như được giải thích trong tài liệu có nghĩa là 445:

nhập mô tả hình ảnh ở đây

  • Thiết lập địa chỉ IP từ xa:

nhập mô tả hình ảnh ở đây

Có thể đây không phải là câu trả lời vì nó không liên quan đến Windows Firewall nhưng có thể cho bạn manh mối về những việc cần làm.


Cảm ơn Reynier - Tôi đã làm theo những gì bạn thể hiện tốt nhất có thể trong Windows Firewall tương đương. - Tab Chung = "Đã bật" - Tab Giao thức và Cổng = Giao thức TCP và cổng cục bộ = 445 - Phạm vi tab = Remote ip = 10.0.75.2 Nhưng có thông báo lỗi tương tự. Cho phép tất cả các cổng và địa chỉ IP - cùng một kết quả. Một quy tắc khác đang được ưu tiên?
Ribeye

Sẽ tốt hơn nếu bạn thêm một số ảnh chụp màn hình về những gì bạn đã vì tôi ghét Windows Firewall và không bao giờ xử lý nó trước đây ...
ReynierPM

Làm thế nào bạn có thể chọn ứng dụng "Hệ thống"?
Küzdi Máté

Không cần thêm ứng dụng "Hệ thống" nhưng bạn cần đảm bảo rằng mạng DockerNAT được tin cậy trong Mạng đã biết với dải IP 10.0,75.1/24
Miguel Febres

Chúng tôi không sử dụng ESET: /
Ionel Lupu

4

Không ai ở trên làm việc cho tôi.

Điều cuối cùng đã thực hiện thủ thuật là mở các thuộc tính của mạng "vEthernet (DockerNAT)" và đánh dấu vào ô "Công tắc ảo mở rộng Hyper-V" ở cuối danh sách trong tab "Mạng".

Không chắc đây có phải là bản sửa lỗi thực tế hay liệu nó chỉ bằng cách nào đó đặt lại bộ điều hợp mạng cho tôi ... nhưng nó đã hoạt động!


4

Có vẻ như nhiều người gặp phải vấn đề này khi chạy Cisco AnyConnect. Tôi có cùng một vấn đề và đây là cách tôi giải quyết:

Nguyên nhân: Mạng con đang được Docker sử dụng nằm trong danh sách Các tuyến được bảo mật do Cisco AnyConnect quản lý (Tôi tin rằng danh sách này được quản trị bởi quản trị viên VPN của bạn).

Giải pháp: Thay đổi mạng con được Docker sử dụng để không trùng lặp với danh sách đang được AnyConnect quản lý.

Ví dụ, trong trường hợp của tôi, tôi đã thay đổi từ 10.0.75.0 (được chồng lấp với 10.0.0.0/8) thành 172.31.0.0/28. nhập mô tả hình ảnh ở đây


3

Tôi đã có cùng một vấn đề và đã thử tất cả các bản sửa lỗi - và hóa ra cần nhiều hơn một:

  • Thêm quy tắc tường lửa (Norton Security cho tôi)
  • Làm cho mạng riêng tư
  • Chia sẻ ổ đĩa

Tôi đã viết một lời giải thích đầy đủ tại http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volume/


1
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
McGrady

Chìa khóa ở đây đối với tôi là làm cho mạng docker riêng tư.
Mike Caron

3

Ổ đĩa G của tôi đã ngừng được chia sẻ với Docker sau bản cập nhật Windows 10 gần đây. Tôi đã gặp vấn đề tương tự khi nói rằng nó đã bị chặn bởi tường lửa Windows khi cố gắng chia sẻ lại nó.

Sau đó, tôi đã cố gắng giải quyết vấn đề này bằng một vài gợi ý nhưng tôi không thể giải quyết vấn đề đó sau đó tôi đã cố gắng Đặt lại thông tin xác thực bên dưới Ổ đĩa chung và vấn đề của tôi đã được giải quyết.

Vì vậy, nếu bạn muốn thì bạn có thể thử làm điều này-

nhập mô tả hình ảnh ở đây


3

Tất cả mọi người đăng DID KHÔNG LÀM VIỆC cho tôi.

DID NÀY.

Tôi đã cài đặt bản phát hành EDGE. Sau đó tôi đã đến WINDOWS DEFENDER và vô hiệu hóa tường lửa cho DOCKER NAT. (không phải bộ chuyển đổi ethernet thực tế của tôi, chỉ là docker nat)

Khi tôi vô hiệu hóa windows defender / tường lửa, cách nó hoạt động tốt.

ừm thực sự hy vọng điều đó sẽ giúp một số bạn


vô hiệu hóa tường lửa cho kết nối cụ thể (dockerNat) đã giúp. Cảm ơn rât nhiều!
Mafu

Vui lòng giải thích chính xác bạn đã tắt tường lửa Windows Defender cho kết nối / bộ điều hợp mạng cụ thể như thế nào?
quạ Vulcan

3

Trong trường hợp của tôi, tôi đã tắt "Chặn TCP 445" trên Tường lửa bảo vệ Windows với Bảo mật nâng cao và nó đã hoạt động. Sau đó kích hoạt lại sau khi cài đặt ổ đĩa chung trên Docker.

cài đặt Khối TCP 445

cài đặt ổ đĩa chung


Tôi chỉ nhận ra rằng cá nhân tôi đã thêm quy tắc tường lửa này lại khi các công cụ hack NSA bị rò rỉ. Cảm ơn!
Daniel Z

2

Tôi gặp vấn đề tương tự với F-safe, DeepGuard đã chặn dịch vụ Docker. Giải pháp của tôi là:

Mở ứng dụng khách an toàn F và nhấp vào " Nhiệm vụ "

nhập mô tả hình ảnh ở đây

Chọn " Cho phép chương trình bắt đầu "

nhập mô tả hình ảnh ở đây

Chọn từ danh sách "com.docker.service" và nhấn " Xóa "

nhập mô tả hình ảnh ở đây

Sau đó khởi động lại máy khách Docker và cố gắng áp dụng để chia sẻ tệp.

Hướng dẫn khắc phục sự cố cũng rất tốt ở đây: Lỗi: Tường lửa đang chặn chia sẻ tệp giữa Windows và các thùng chứa


2

Tôi gặp vấn đề tương tự với tường lửa không cho phép tôi chia sẻ ổ C của mình. Tôi đã thử tất cả các giải pháp được liệt kê ở trên và không có gì làm việc cho tôi. Sau đó, tôi đã gỡ cài đặt docker hoàn toàn khỏi máy của mình Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Sau đó truy cập trang web docker và nhấp vàoGet Docker for Windows (Stable)
Sau đó tôi có thể chia sẻ ổ C


1
Tôi thực sự đã thử mọi thứ khác, chỉ có giải pháp này hiệu quả với tôi. Cảm ơn người đàn ông!
Charis Moutafidis

2

Đối với AVG Internet Security, việc bật Chế độ chia sẻ kết nối Internet trong cài đặt Tường lửa đã giúp tôi.

nhập mô tả hình ảnh ở đây


2

Ngay cả sau khi đảm bảo rằng quy tắc tường lửa gửi đến được thiết lập đúng và ngay cả sau khi gỡ cài đặt và cài đặt lại Dịch vụ chia sẻ tệp và in ấn, nó vẫn không hoạt động đối với tôi.

Giải pháp: trên hết tôi cũng phải làm điều thứ ba. Tôi đã phải hủy kích hoạt hộp kiểm Ngăn kết nối đến khi trên mạng công cộng trong cài đặt tường lửa cụ thể cho các mạng công cộng. Sau khi làm điều đó nó cũng bắt đầu làm việc cho tôi. Xem ảnh chụp màn hình đính kèm ở cuối tin nhắn này.

Không biết tùy chọn này đã ở đó bao lâu rồi. Tôi hiện đang làm việc trên Win 10 Pro 1709 16299.402.


1. Mở cài đặt tường lửa cụ thể cho các mạng công cộng Mở cài đặt tường lửa cụ thể cho các mạng công cộng

2. Bỏ chọn hộp kiểm này Bỏ chọn hộp kiểm này


2

Sử dụng Kaspersky Internet Security, bạn có thể giải quyết vấn đề này một cách dễ dàng nếu bạn thay đổi vEthernet (DockerNAT)loại bộ điều hợp mạng thành Trusted network.

Cài đặt> Bảo vệ> Tường lửa> Mạng> vEthernet (DockerNAT)> Chọn "Mạng đáng tin cậy"

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


2

25 tháng 1 năm 2020

Có vẻ như, đó là một vấn đề trong các phiên bản cũ, tôi đã cài đặt phiên bản cuối cùng:

Docker version 19.03.5, build 633a0ea

và nó làm việc cho tôi mà không cần bất kỳ cấu hình.

nhập mô tả hình ảnh ở đây


1

Điều này (liên kết dưới đây) dường như là sửa chữa tốt nhất tôi đã tìm thấy cho đến nay. Nó là liên tục trên khởi động lại. Nó được giải thích tốt nhất ở đây: https://gist.github.com/biggyspender/8b5b2ed9ff63de 31045d41304e3915b3

Giao diện mạng vEthernet dường như được tạo động mỗi khi hệ thống khởi động và nó được tạo trong nhóm 'Công khai' trái ngược với nhóm 'Riêng tư' (nơi nó hoạt động). Các chỉnh sửa trong một trong các tập lệnh khởi động Docker (được gọi trong liên kết ở trên) tự động hóa lệnh / sửa lỗi powershell được ghi nhận bởi David Tesar ở trên ....

Tôi đã có nhiều may mắn hơn khi thêm chức năng vào tập lệnh thay vì chỉnh sửa tập lệnh và thay đổi 'Nội bộ' thành 'Riêng tư'.


1

Nếu không hoạt động nào ở trên, chỉ cần đảm bảo bạn không được kết nối với VPN . Đó chính xác là những gì đã xảy ra với tôi, tôi đã được kết nối với VPN bằng ứng dụng khách Cisco AnyConnect, cũng đảm bảo bạn đặt DNS tĩnh trong cài đặt docker.


Nếu bạn cần cả hai (VPN AnyConnect và Docker), hãy xem bình luận stackoverflow.com/a/58406873/9064636
Averell

1

Tôi đã cố gắng tất cả mọi thứ được liệt kê ở đây và trên https://github.com/docker/for-win/issues/360

Không có gì làm việc cho tôi.

Tôi chạy môi trường dev của mình trên bộ chứa docker và trong khi trên VPN công ty (Cisco AnyConnect), tôi cần gắn ổ đĩa cục bộ của mình vào bộ chứa để truy cập các tệp dự án của mình.

Đây là một hack docker làm việc cho tôi. Thêm vào --publish 8000:8000lệnh chạy docker hiện tại của bạn.

Vì thế

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

sẽ trở thành

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

Đảm bảo rằng cổng không được sử dụng nếu không bạn sẽ gặp lỗi này:

Ràng buộc cho 0.0.0.0:8000 không thành công: cổng đã được phân bổ


1

Tóm lại, sử dụng phiên bản Edge.

Phiên bản Edge của Docker cho Windows kể từ 2.1.5.0 (2019-11-04) có triển khai chia sẻ tệp mới mà không yêu cầu sửa đổi tường lửa https://docs.docker.com/docker-for-windows/edge-release-notes /

"Triển khai chia sẻ tệp mới: Docker Desktop giới thiệu một triển khai chia sẻ tệp mới sử dụng các ổ cắm gRPC, FUSE và Hypervisor thay vì mạng Samba, CIFS và Hyper-V. Việc triển khai mới mang lại hiệu suất I / O được cải thiện. Ngoài ra, khi sử dụng hệ thống tập tin mới:

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.

"

Bạn có thể tải xuống phiên bản cạnh: https://doad.docker.com/win/edge/Docker%20Desktop%20Installer.exe

Lưu ý đến thời điểm hiện tại, phiên bản cạnh của 2.1.7.0 sẽ được sử dụng cho phiên bản ổn định tiếp theo: "Lưu ý: Docker Desktop Edge 2.1.7.0 là ứng cử viên phát hành cho phiên bản ổn định chính sắp tới.". Vì vậy, rủi ro khi sử dụng Edge là tương đối thấp. Hoặc bạn có thể đợi bản phát hành ổn định tiếp theo để tránh tất cả các sự cố tường lửa này.



0

Tôi thấy nó khá dễ dàng. Chỉ cần đi đến bạn kết nối mạng. Bạn có thể vào Bảng điều khiển / Mạng và Chia sẻ. Bạn sẽ tìm thấy các kết nối khác nhau. Tìm kiếm kết nối Docker. Chọn cái nào là mặc định. Sau khi chọn mạng, đi đến Thuộc tính. Trong phần thuộc tính cho phép tùy chọn Chuyển đổi ảo mở rộng Hyper-V . Điều này sẽ giúp container ảo sử dụng card mạng.


0

Điều gì đã làm cho tôi (sau vài giờ dùng thử-n-error) đã thay đổi Subnet Mask từ 255.255.255.240thành 255.255.255.0(không nên thay đổi bất cứ điều gì).

Là một phần của lỗi dùng thử, tôi đã thực hiện mọi thứ khác được liệt kê trên bài viết, nhưng không có thành công nào .. nhưng bước cuối cùng này đã làm điều đó .. và quay trở lại để 255.255.255.240không phá vỡ chu kỳ tốt.

Tôi thừa nhận, nó vô nghĩa .. nhưng nó có thể liên quan đến trạng thái nội bộ chỉ được kích hoạt bởi sự thay đổi mạng.

Dù sao, nếu tôi đã giúp chỉ một, thì đó là nỗ lực đáng giá.

Docker Desktop edge, 2.0.4.1 (34207)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.