Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Selain memanfaatkan jaringan 'nat' default yang dibuat oleh Docker di Windows, pengguna dapat menentukan jaringan kontainer kustom. Jaringan yang ditentukan pengguna dapat dibuat menggunakan perintah docker CLI docker network create -d <NETWORK DRIVER TYPE> <NAME>. Pada Windows, tipe pengandar jaringan berikut ini tersedia:
Driver jaringan NAT
Kontainer yang terhubung ke jaringan yang dibuat dengan driver 'nat' akan dihubungkan ke sakelar internal Hyper-V dan akan menerima alamat IP dari awalan IP (--subnet) yang ditentukan pengguna. Penerusan / pemetaan port dari host kontainer ke titik akhir kontainer didukung.
Ujung
Dimungkinkan untuk menyesuaikan subnet yang digunakan oleh jaringan 'nat' default melalui pengaturan fixed-cidr dalam file konfigurasi daemon Docker .
Nota
Jaringan NAT yang dibuat pada Windows Server 2019 (atau lebih tinggi) tidak lagi bertahan setelah boot ulang.
Membuat jaringan NAT
Untuk membuat jaringan NAT baru dengan subnet 10.244.0.0/24:
docker network create -d "nat" --subnet "10.244.0.0/24" my_nat
Driver jaringan transparan
Kontainer yang dilampirkan ke jaringan yang dibuat dengan driver 'transparan' akan terhubung langsung ke jaringan fisik melalui sakelar Hyper-V eksternal. IP dari jaringan fisik dapat ditetapkan secara statis (memerlukan opsi --subnet yang ditentukan pengguna) atau secara dinamis menggunakan server DHCP eksternal.
Nota
Karena persyaratan berikut, menyambungkan host kontainer Anda melalui jaringan transparan tidak didukung di Azure VM.
** Memerlukan: Ketika mode ini digunakan dalam skenario virtualisasi (host kontainer adalah VM) pemalsuan alamat MAC diperlukan.
Membuat jaringan transparan
Untuk membuat jaringan transparan baru dengan subnet 10.244.0.0/24, gateway 10.244.0.1, server DNS 10.244.0.7 dan ID VLAN 7:
docker network create -d "transparent" --subnet 10.244.0.0/24 --gateway 10.244.0.1 -o com.docker.network.windowsshim.vlanid=7 -o com.docker.network.windowsshim.dnsservers="10.244.0.7" my_transparent
Driver perangkat lunak jaringan overlay
Populer digunakan oleh orkestrator kontainer seperti Docker Swarm dan Kubernetes, kontainer yang terpasang pada jaringan overlay dapat berkomunikasi dengan kontainer lain yang terpasang ke jaringan yang sama di beberapa host kontainer. Setiap jaringan overlay dibuat dengan subnet IP-nya sendiri, yang ditentukan oleh awalan IP privat. Driver jaringan overlay menggunakan enkapsulasi VXLAN untuk mengisolasi lalu lintas jaringan antara jaringan kontainer penyewa dan memungkinkan penggunaan kembali alamat IP di seluruh jaringan overlay.
Memerlukan: Pastikan lingkungan Anda memenuhi prasyarat yang diperlukan ini untuk membuat jaringan overlay.
Memerlukan: Pada Windows Server 2019, ini memerlukan KB4489899.
Memerlukan: Pada Windows Server 2016, ini memerlukan KB4015217.
Nota
Pada Windows Server 2019 ke atas, jaringan overlay yang dibuat oleh Docker Swarm memanfaatkan aturan NAT VFP untuk konektivitas keluar. Ini berarti bahwa kontainer tertentu menerima 1 alamat IP. Ini juga berarti bahwa alat berbasis ICMP seperti ping atau Test-NetConnection harus dikonfigurasi menggunakan opsi TCP/UDP mereka dalam situasi debugging.
Membuat jaringan overlay
Untuk membuat jaringan overlay baru dengan subnet 10.244.0.0/24, server DNS 168.63.129.16, dan VSID 4096:
docker network create -d "overlay" --attachable --subnet "10.244.0.0/24" -o com.docker.network.windowsshim.dnsservers="168.63.129.16" -o com.docker.network.driver.overlay.vxlanid_list="4096" my_overlay
Penggerak jaringan L2bridge
Kontainer yang terpasang pada jaringan yang dibuat dengan driver 'l2bridge' akan terhubung ke jaringan fisik melalui sakelar Hyper-V eksternal. Di l2bridge, lalu lintas jaringan kontainer akan memiliki alamat MAC yang sama dengan host karena operasi terjemahan alamat Layer-2 (penulisan ulang MAC) pada ingress dan egress. Di pusat data, ini membantu mengurangi beban pada sakelar yang harus mempelajari alamat MAC dari kontainer yang berumur pendek. Jaringan L2bridge dapat dikonfigurasi dengan 2 cara berbeda:
- Jaringan L2bridge dikonfigurasi dengan subnet IP yang sama dengan host kontainer
- Jaringan L2bridge dikonfigurasi dengan subnet IP kustom baru
Dalam konfigurasi 2 pengguna perlu menambahkan titik akhir pada kompartemen jaringan host yang bertindak sebagai gateway dan mengonfigurasi kemampuan perutean untuk awalan yang ditunjuk.
Membuat jaringan l2bridge
Untuk membuat jaringan l2bridge baru dengan subnet 10.244.0.0/24, gateway 10.244.0.1, server DNS 10.244.0.7 dan ID VLAN 7:
docker network create -d "l2bridge" --subnet 10.244.0.0/24 --gateway 10.244.0.1 -o com.docker.network.windowsshim.vlanid=7 -o com.docker.network.windowsshim.dnsservers="10.244.0.7" my_l2bridge
Ujung
Jaringan L2bridge sangat dapat diprogram; Detail selengkapnya tentang cara mengonfigurasi l2bridge dapat ditemukan di sini.
Driver jaringan L2tunnel
Pembuatan identik dengan l2bridge, namun driver ini hanya boleh digunakan dalam Microsoft Cloud Stack (Azure). Satu-satunya perbedaan atas l2bridge adalah bahwa semua lalu lintas kontainer dikirim ke host virtualisasi tempat kebijakan SDN diterapkan, sehingga memungkinkan fitur seperti Azure Network Security Groups untuk kontainer.
Topologi jaringan dan IPAM
Tabel di bawah ini menunjukkan bagaimana konektivitas jaringan disediakan untuk koneksi internal (kontainer-ke-kontainer) dan eksternal untuk setiap driver jaringan.
Mode jaringan/driver Docker
| Driver Jaringan Docker Windows | Penggunaan umum | Kontainer-ke-kontainer (Node tunggal) | Kontainer-ke-eksternal (node tunggal + multi-node) | Kontainer-ke-kontainer (multi-node) |
|---|---|---|---|---|
| NAT (Default) | Baik untuk Pengembang |
|
Dirutekan melalui Management vNIC (terikat ke WinNAT) | Tidak didukung secara langsung: memerlukan pengeksposan port melalui host |
| Transparan | Baik untuk Pengembang atau penyebaran kecil |
|
Dirutekan melalui host kontainer dengan akses langsung ke adaptor jaringan (fisik) | Dirutekan melalui host kontainer dengan akses langsung ke adaptor jaringan (fisik) |
| Overlay | Bagus untuk multi-node; diperlukan untuk Docker Swarm, dan tersedia di Kubernetes |
|
Tidak didukung secara langsung - memerlukan endpoint kontainer kedua yang dilampirkan ke jaringan NAT pada Windows Server 2016 atau aturan VFP NAT pada Windows Server 2019. | Same/Cross Subnet: Lalu lintas jaringan dienkapsulasi menggunakan VXLAN dan dirutekan melalui Mgmt vNIC |
| L2Bridge | Digunakan untuk Kubernetes dan Microsoft SDN |
|
Alamat MAC kontainer ditulis ulang pada saat masuk dan keluar |
|
| L2Tunnel | Hanya Azure | Subnet Sama/Silang: Dialihkan ke sakelar virtual host fisik Hyper-V di mana kebijakan diterapkan | Lalu lintas harus melalui gateway jaringan virtual Azure | Subnet Sama/Silang: Dialihkan ke sakelar virtual host fisik Hyper-V di mana kebijakan diterapkan |
IPAM
Alamat IP dialokasikan dan ditetapkan secara berbeda untuk setiap driver jaringan. Windows menggunakan Host Networking Service (HNS) untuk menyediakan IPAM untuk driver nat dan bekerja dengan Docker Swarm Mode (KVS internal) untuk menyediakan IPAM untuk overlay. Semua driver jaringan lainnya menggunakan IPAM eksternal.
| Mode Jaringan / Pengendali Perangkat | IPAM |
|---|---|
| NAT | Alokasi dan penugasan alamat IP dinamis oleh Host Networking Service (HNS) dari prefiks subnet NAT internal. |
| Transparan | Alokasi dan penugasan IP secara statis atau dinamis (menggunakan server DHCP eksternal) dari alamat IP yang termasuk dalam awalan jaringan host kontainer. |
| Lapisan | Alokasi IP dinamis dari prefix yang dikelola dan penugasannya melalui Docker Engine Swarm Mode dengan HNS |
| L2Bridge | Alokasi dan penugasan IP dinamis oleh Host Networking Service (HNS) dari awalan subnet yang disediakan |
| L2Tunnel | Khusus Azure - Alokasi ip dinamis dan penugasan dari plugin |
Penemuan Layanan
Penemuan Layanan hanya didukung untuk driver jaringan Windows tertentu.
| Nama pengemudi | Penemuan Layanan Lokal | Penemuan Layanan Global |
|---|---|---|
| Nat | YA | YA dengan Docker EE |
| Lapisan atas | YA | YA dengan Docker EE atau kube-dns |
| transparan | TIDAK | TIDAK |
| l2bridge | YA dengan kube-dns | YA dengan kube-dns |