Windows Firewall memblokir upaya saya untuk memungkinkan Docker untuk Windows berbagi mesin C: di windows 10.
Berfungsi dengan baik ketika Windows Firewall mati. Ketika saya di
Firewall memblokir file Sharing antara Windows dan kontainer. Lihat dokumentasi untuk info lebih lanjut.
Dokumentasi mengatakan
Anda tidak perlu membuka port 445 di jaringan lain mana pun. Secara default, izinkan koneksi ke port 10.0.75.1 445 (host Windows) dari 10.0.75.2 (mesin virtual).
Saya "googled out" untuk mencoba menemukan cara melakukan itu - dapatkah seseorang menyarankan?
docker
docker-for-windows
Ribeye
sumber
sumber
Jawaban:
Anda sebenarnya tidak perlu berbagi drive C tetapi hanya menginstal ulang (atau bahkan berpotensi menghapus centang - klik OK - lalu centang) layanan berbagi File dan Cetak pada kartu jaringan virtual Hyper-V. Lihat artikel ini.
Juga jika ada batasan pada profil jaringan Anda (yaitu publik), pertimbangkan untuk mengubah "jaringan tidak dikenal" default untuk kartu "vEthernet (DockerNAT)" menjadi pribadi melalui perintah PowerShell ini sebelum melakukan hal di atas:
sumber
Get-NetConnectionProfile
untuk memastikan bahwaDockerNAT
jaringan berada dalamPrivate
kategori0x80071779
, saya mencoba untuk menonaktifkan -> mengaktifkan. Juga firewall dinonaktifkan ... Saya juga mencoba mengatur ke pribadi, masih tidak berfungsi, ada ide?Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Ok, jadi setelah berjalan dalam masalah yang sama, saya telah menemukan Solusi.
Inilah yang saya lakukan:
Langkah 1: Buka ESET. Kemudian klik Pengaturan
Langkah 2: Klik pada perlindungan Jaringan
Langkah 3: Klik pada Pemecahan masalah wizard
Langkah 4: Temukan Komunikasi 10.0.75.2 (pengaturan IP buruh pelabuhan default) Cukup periksa apa Kisaran IP didefinisikan di dalam pengaturan buruh pelabuhan Anda. Kemudian cari IP yang berada di kisaran itu.
Langkah 5: Klik pada tombol Buka Blokir , maka Anda akan menerima layar ini.
Ini memecahkan masalah untuk saya sendiri.
Anda kemudian dapat pergi ke Aturan dan memeriksa aturan yang telah ditambahkan.
PS: Ini posting pertama saya, maaf untuk prosedur yang salah.
sumber
Hanya solusi ini yang membantu saya:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
sumber
Set-NetConnectionProfile
dijalankan di PowerShell sebagai admin dan bukan Cmd normal. Ini berfungsi baik untuk saya tetapi adaptor Ethernet masihunidentified network
Solusi saya adalah memutuskan koneksi dari VPN; itu yang menyebabkan masalah
sumber
Saya tidak menggunakan firewall pihak ketiga mana pun ketika mengalami kesalahan ini. Saya yakin itu adalah masalah Windows Firewall, meskipun menonaktifkan Windows Firewall tidak berhasil untuk saya. Saya akhirnya menemukan posting blog ini setelah banyak penelitian: Docker di windows 10 kesalahan: Firewall memblokir file Sharing ...
Itu akhirnya TIDAK ada hubungannya dengan built in Windows Firewall.
sumber
Drive C saya berhenti dibagikan dengan Docker setelah pembaruan Windows 10 baru-baru ini. Saya mendapatkan masalah yang sama dengan mengatakan itu diblokir oleh firewall Windows ketika mencoba membagikannya kembali.
Melihat melalui solusi di atas, saya menemukan sesuatu yang bekerja untuk saya yang lebih sederhana daripada apa pun yang saya lihat di halaman ini. Di Control Panel \ Semua Item Panel Kontrol \ Jaringan dan Pusat Berbagi , pada koneksi vEthernet (DockerNAT) , saya menghapus centang pada File properti dan Printer Sharing untuk Microsoft Networks dan menyimpan pengaturan. Kemudian saya memeriksa kembali properti itu untuk mengaktifkannya kembali dan menyimpannya kembali.
Pada titik ini, saya dapat membagikan ulang drive C dalam pengaturan Docker. Saya tidak tahu mengapa ini berhasil tetapi itu bukan masalah firewall, yang sudah memiliki entri untuk DockerSmbMount.
sumber
Saya punya masalah dengan Kaspersky; mematikan Kaspersky berfungsi, jadi saya tahu itu firewallnya. Dalam kasus saya, Kaspersky sudah memblokir port 445 karena beberapa alasan. Saya harus pergi ke Aturan Paket untuk Firewall, Layanan Lokal (TCP) dan menghapus 445 dari daftar port blok.
sumber
Untuk mesin Windows 10 di jaringan domain, saat membuat adapter Ethernet virtual Hyper-V, itu dikategorikan sebagai jaringan publik. Anda harus mengubahnya ke jaringan pribadi untuk memungkinkan aturan Windows Firewall yang lebih santai, dan karenanya memungkinkan berbagi file.
Jalankan perintah berikut di PowerShell:
Ubah nama dalam tanda kutip jika koneksi jaringan virtual Hyper-V mesin Anda disebut sesuatu yang lain.
sumber
Masalah saya adalah Cisco Anyconnect VPN mengganggu jaringan docker internal
untuk memperbaikinya buka:
Cisco Anyconnect Settings> Preferences> check
Allow local (LAN) access when using VPN
sumber
Allow local (LAN) access when using VPN
sudah dicentang jadi saya tidak mencentangnya, memutus, memeriksa kembali opsi dan terhubung kembali ke VPN. Docker untuk Windows kemudian menerapkan share drive seperti yang diinginkan.Sebagaimana dinyatakan dalam satu jawaban lain, Docker tidak bermain bagus dengan VPN. Jika Anda menggunakan Nordvpn, Anda harus menonaktifkan "Gaib pada LAN" dan mungkin "Internet Kill Switch" .
Jika Anda telah melakukannya, itu akan berfungsi bahkan dengan VPN aktif.
sumber
Itu tergantung pada firewall apa yang telah Anda instal. Dalam kasus saya, saya telah menonaktifkan Firewall Windows bawaan dan saya menggunakan ESET Smart Security sehingga aturan saya terlihat seperti:
445
:Mungkin ini bukan jawaban karena tidak terkait dengan Windows Firewall tetapi dapat memberi Anda petunjuk tentang apa yang harus dilakukan.
sumber
Tidak satu pun di atas bekerja untuk saya.
Yang akhirnya berhasil adalah membuka properti jaringan "vEthernet (DockerNAT)" dan mencentang kotak "Hyper-V Extensible Virtual Switch" di bagian bawah daftar di bawah tab "Networking".
Tidak yakin apakah ini adalah perbaikan yang sebenarnya atau apakah itu entah bagaimana mereset adaptor jaringan untuk saya ... tetapi berhasil!
sumber
Sepertinya banyak yang mengalami masalah ini ketika menjalankan Cisco AnyConnect. Saya mendapat masalah yang sama dan inilah cara saya memecahkan:
Penyebabnya: Subnet yang digunakan oleh Docker ada dalam daftar Rute Terjamin dikelola oleh Cisco AnyConnect (saya yakin daftar ini dikelola oleh admin VPN Anda).
Solusinya: Ubah subnet yang digunakan oleh Docker untuk tidak tumpang tindih dengan daftar yang dikelola oleh AnyConnect.
Misalnya, dalam kasus saya, saya berubah dari 10.0.75.0 (yang tumpang tindih dengan 10.0.0.0/8) menjadi 172.31.0.0/28.
sumber
Saya memiliki masalah yang sama dan mencoba semua perbaikan - dan ternyata lebih dari satu diperlukan:
Saya telah menulis penjelasan lengkap di http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/
sumber
Drive G saya berhenti dibagikan dengan Docker setelah pembaruan Windows 10 baru-baru ini. Saya mendapatkan masalah yang sama dengan mengatakan itu diblokir oleh firewall Windows ketika mencoba membagikannya kembali.
Lalu saya telah mencoba untuk menyelesaikan masalah ini dengan beberapa saran tetapi saya tidak dapat menyelesaikan masalah itu setelah itu saya telah mencoba untuk me-reset kredensial di bawah Shared Drives dan masalah saya terpecahkan.
Jadi Jika Anda mau maka Anda bisa mencoba melakukan ini-
sumber
Semua yang diposkan semua orang TIDAK BEKERJA untuk saya.
APAKAH INI.
Saya menginstal rilis EDGE. Saya kemudian pergi ke WINDOWS DEFENDER dan menonaktifkan firewall untuk DOCKER NAT. (bukan adaptor ethernet saya yang sebenarnya, hanya buruh pelabuhan nat)
Setelah saya menonaktifkan windows defender / firewall cara itu bekerja dengan baik.
ya sangat berharap itu membantu sebagian dari Anda!
sumber
Dalam kasus saya, saya menonaktifkan "Blok TCP 445" pada Firewall Windows Defender dengan Keamanan Tingkat Lanjut dan itu berhasil. Kemudian diaktifkan kembali setelah pengaturan drive bersama di Docker.
sumber
Saya memiliki masalah yang sama dengan F-secure, DeepGuard memblokir layanan Docker. Solusi saya adalah:
Buka klien F-secure dan klik " Tugas "
Pilih " Izinkan program untuk memulai "
Pilih dari daftar "com.docker.service" dan tekan " Hapus "
Setelah itu restart klien Docker dan mencoba mengajukan permohonan untuk berbagi file.
Juga panduan pemecahan masalah yang sangat baik di sini: Kesalahan: Firewall memblokir berbagi file antara Windows dan kontainer
sumber
Saya memiliki masalah yang sama dengan firewall yang tidak memungkinkan saya untuk berbagi drive C saya. Saya mencoba semua solusi yang tercantum di atas dan tidak ada yang berhasil untuk saya. Kemudian saya mencopot buruh pelabuhan sepenuhnya dari mesin saya.
Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Lalu pergi ke situs buruh pelabuhan dan klik
Get Docker for Windows (Stable)
Setelah itu saya bisa berbagi drive C
sumber
Untuk AVG Internet Security, mengaktifkan Mode Berbagi Koneksi Internet di bawah pengaturan Firewall melakukan trik untuk saya.
sumber
Bahkan setelah memastikan bahwa aturan firewall masuk diatur dengan benar dan bahkan setelah mencopot dan menginstal ulang Layanan Berbagi File dan Pencetakan, itu tidak berfungsi untuk saya.
Solusi: selain itu saya juga harus melakukan hal ketiga. Saya harus menonaktifkan kotak centang. Mencegah koneksi masuk ketika berada di jaringan publik dalam pengaturan firewall khusus untuk jaringan publik. Setelah melakukan itu mulai bekerja untuk saya juga. Lihat tangkapan layar yang dilampirkan di akhir pesan ini.
Tidak tahu sudah berapa lama opsi ini ada di sana. Saat ini saya sedang mengerjakan Win 10 Pro 1709 16299.402.
1. Buka pengaturan firewall khusus untuk jaringan publik
2. Hapus centang pada kotak ini
sumber
Menggunakan Kaspersky Internet Security Anda dapat menyelesaikan ini dengan mudah jika Anda mengubah
vEthernet (DockerNAT)
jenis adaptor jaringan menjadiTrusted network
.Pengaturan> Perlindungan> Firewall> Jaringan> vEthernet (DockerNAT)> Pilih "Jaringan Tepercaya"
sumber
25 Jan 2020
Tampaknya, ini adalah masalah di versi lama, saya menginstal versi terakhir:
dan itu bekerja untuk saya tanpa konfigurasi.
sumber
Ini (tautan di bawah) tampaknya merupakan perbaikan terbaik yang saya temukan sejauh ini. Ini tahan di seluruh reboot. Yang terbaik dijelaskan di sini: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3
Antarmuka jaringan vEthernet tampaknya dibuat secara dinamis setiap kali sistem dimulai, dan dibuat di grup 'Publik' sebagai lawan dari grup 'Pribadi' (tempat kerjanya). Pengeditan di salah satu skrip startup Docker (dipanggil di tautan di atas) mengotomatiskan perintah / perbaikan powershell yang dicatat oleh David Tesar di atas ....
Saya lebih beruntung menambahkan fungsi ke skrip daripada mengedit skrip dan mengubah 'Internal' menjadi 'Private'.
sumber
Jika bukan yang di atas berfungsi, pastikan Anda tidak terhubung ke VPN . Itulah yang terjadi pada saya, saya terhubung ke VPN menggunakan klien Cisco AnyConnect, juga pastikan Anda mengatur DNS statis dalam pengaturan buruh pelabuhan.
sumber
Saya mencoba semua yang tercantum di sini dan di https://github.com/docker/for-win/issues/360
Tidak ada yang berhasil untuk saya.
Saya menjalankan lingkungan dev saya di wadah buruh pelabuhan, dan saat di VPN Perusahaan (Cisco AnyConnect), saya perlu memasang drive lokal saya pada wadah untuk mengakses file proyek saya.
Berikut ini adalah buruh pelabuhan yang bekerja untuk saya. Tambahkan
--publish 8000:8000
ke perintah run docker yang ada.Begitu
akan menjadi
Pastikan port tidak digunakan lagi Anda akan mendapatkan kesalahan ini:
sumber
Singkatnya, gunakan versi Edge.
Versi Edge Docker untuk Windows sejak 2.1.5.0 (2019-11-04) memiliki implementasi baru berbagi file tanpa memerlukan modifikasi firewall https://docs.docker.com/docker-for-windows/edge-release-notes /
"Implementasi berbagi file baru: Docker Desktop memperkenalkan implementasi berbagi file baru yang menggunakan soket gRPC, FUSE, dan Hypervisor alih-alih jaringan Samba, CIFS, dan Hyper-V. Implementasi baru ini menawarkan peningkatan kinerja I / O. Selain itu, saat menggunakan sistem file baru:
"
Anda dapat mengunduh versi tepinya: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe
Catatan seperti sekarang, versi tepi 2.1.7.0 akan digunakan untuk rilis stabil berikutnya: "Catatan: Docker Desktop Edge 2.1.7.0 adalah kandidat rilis untuk rilis Stabil utama mendatang.". Jadi risiko menggunakan Edge relatif rendah. Atau Anda bisa menunggu rilis stabil berikutnya, untuk menghindari semua masalah firewall ini.
sumber
bagi mereka yang tidak dapat menyelesaikan masalah ini dengan cara apa pun, Anda dapat mencoba ini: memetakan drive secara manual ke host buruh pelabuhan:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
Penelitiannya ada di sini: https://github.com/docker/for-win/issues/466#issuecomment-398305463
sumber
Saya menemukannya cukup mudah. Pergi saja ke koneksi jaringan Anda. Anda dapat pergi ke Panel Kontrol / Jaringan dan Berbagi. Anda akan menemukan berbagai koneksi. Cari koneksi Docker. Pilih mana yang default. Setelah memilih jaringan, pergi ke Properties. Di bagian properti aktifkan opsi Hyper-V Extensible Virtual Switch . Ini akan membantu wadah virtual untuk menggunakan kartu jaringan.
sumber
Apa yang terjadi pada saya (setelah beberapa jam coba-coba) mengubah Subnet Mask dari
255.255.255.240
menjadi255.255.255.0
(yang seharusnya tidak mengubah apa pun).Sebagai bagian dari percobaan-n-kesalahan, saya telah melakukan semua yang lain yang tercantum pada artikel, tetapi tanpa hasil .. tetapi langkah terakhir ini melakukannya .. dan kembali ke
255.255.255.240
tidak merusak siklus yang baik.Saya akui, itu tidak masuk akal .. tetapi mungkin terkait dengan keadaan internal yang hanya dipicu oleh perubahan jaringan.
Lagi pula, jika saya telah membantu hanya satu, maka itu sepadan dengan usaha.
sumber