Ovladače sítě kontejnerů Windows
Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Kromě využití výchozí sítě nat vytvořené Dockerem ve Windows můžou uživatelé definovat vlastní sítě kontejnerů. Uživatelem definované sítě je možné vytvořit pomocí příkazu rozhraní příkazového řádku Dockeru docker network create -d <NETWORK DRIVER TYPE> <NAME>
. Ve Windows jsou k dispozici následující typy síťových ovladačů:
Síťový ovladač NAT
Kontejnery připojené k síti vytvořené pomocí ovladače 'nat' budou připojeny k přepínači interního Hyper-V a přijmou IP adresu z předpony IP zadané uživatelem (--subnet
). Podporuje se přesměrování portů nebo mapování z hostitele kontejneru na koncové body kontejneru.
Spropitné
Podsíť používanou výchozí sítí nat je možné přizpůsobit prostřednictvím nastavení fixed-cidr
v konfiguračním souboru démona Dockeru .
Poznámka
Sítě NAT vytvořené ve Windows Serveru 2019 (nebo novějším) se po restartování už neuchovávají.
Vytvoření sítě NAT
Vytvořit novou síť NAT s podsítí 10.244.0.0/24
:
docker network create -d "nat" --subnet "10.244.0.0/24" my_nat
Transparentní síťový ovladač
Kontejnery připojené k síti vytvořené pomocí transparentního ovladače budou přímo připojené k fyzické síti prostřednictvím externího přepínače Hyper-V. IP adresy z fyzické sítě je možné přiřadit staticky (vyžaduje uživatelem zadanou možnost --subnet
) nebo dynamicky pomocí externího serveru DHCP.
Poznámka
Vzhledem k následujícímu požadavku se připojení hostitelů kontejnerů přes transparentní síť na virtuálních počítačích Azure nepodporuje.
Vyžaduje: Při použití tohoto režimu ve virtualizačním scénáři (hostitel kontejneru je virtuální počítač) je vyžadováno falšování MAC adresy.
Vytvoření transparentní sítě
Chcete-li vytvořit novou transparentní síť s podsítí 10.244.0.0/24
, branou 10.244.0.1
, serverem DNS 10.244.0.7
a VLAN ID 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
Překryvný síťový ovladač
Kontejnery připojené k překryvné síti, které jsou často používány orchestrátory kontejnerů jako Docker Swarm a Kubernetes, mohou komunikovat s jinými kontejnery připojenými ke stejné síti napříč několika hostitelskými kontejnery. Každá překryvná síť se vytvoří s vlastní podsítí IP definovanou předponou privátní IP adresy. Překryvný síťový ovladač používá zapouzdření sítě VXLAN k zajištění izolace síťového provozu mezi sítěmi kontejnerů tenanta a umožňuje opakované použití IP adres napříč překryvovými sítěmi.
Vyžaduje: Ujistěte se, že vaše prostředí splňuje tyto požadované požadavky pro vytváření překryvných sítí.
Vyžaduje: Ve Windows Serveru 2019 to vyžaduje KB4489899.
Vyžaduje: Ve Windows Serveru 2016 to vyžaduje KB4015217.
Poznámka
Ve Windows Serveru 2019 a novějších využívají překryvné sítě Docker Swarm pravidla překladu adres (NAT) VFP pro odchozí konektivitu. To znamená, že daný kontejner přijímá 1 IP adresu. Také to znamená, že nástroje založené na protokolu ICMP, jako jsou ping
nebo Test-NetConnection
, by měly být nakonfigurované pomocí jejich možností TCP/UDP v situacích ladění.
Vytvoření překryvné sítě
Vytvoření nové překryvné sítě s podsítí 10.244.0.0/24
, serverem DNS 168.63.129.16
a 4096
VSID:
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
Síťový ovladač L2bridge
Kontejnery připojené k síti vytvořené pomocí ovladače l2bridge budou připojeny k fyzické síti prostřednictvím externího přepínače Hyper-V. V l2bridge bude mít síťový provoz kontejneru stejnou adresu MAC jako hostitel kvůli operaci přepisování adres vrstvy 2 při příchozích a odchozích přenosech. V datacentrech to pomáhá zmírnit stres na přepínačích, které se musí naučit adresy MAC některých krátkodobých kontejnerů. Sítě L2bridge je možné konfigurovat 2 různými způsoby:
- Síť L2bridge je nakonfigurovaná se stejnou podsítí IP jako hostitel kontejneru.
- Síť L2bridge je nakonfigurovaná s novou vlastní podsítí PROTOKOLU IP.
V konfiguraci 2 uživatelé budou muset přidat koncový bod do síťového prostoru hostitele, který funguje jako brána a nakonfigurovat možnosti směrování pro určenou předponu.
Vytvoření sítě l2bridge
Vytvoření nové sítě l2bridge s podsítí 10.244.0.0/24
, bránou 10.244.0.1
, serverem DNS 10.244.0.7
a ID sítě 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
Spropitné
Sítě L2bridge jsou vysoce programovatelné; Další podrobnosti o konfiguraci l2bridge najdete zde.
Síťový ovladač L2tunnel
Vytvoření je stejné jako l2bridge, ale tento ovladač by měl být použit pouze vMicrosoft Cloud Stack (Azure). Jediným rozdílem oproti l2bridge je, že se veškerý provoz kontejnerů odesílá na hostitele virtualizace, kde se aplikují zásady SDN, což umožňuje funkce, jako jsou skupiny zabezpečení sítě Azure pro kontejnery.
Topologie sítě a správa IP adres
Následující tabulka ukazuje, jak se poskytuje připojení k síti pro interní připojení (kontejner-kontejner) a externí připojení pro každý síťový ovladač.
Síťové režimy / ovladače Dockeru
Síťový ovladač Dockeru pro Windows | Typické použití | Kontejner-kontejner (jeden uzel) | Připojení kontejneru k externímu (jeden uzel + více uzlů) | Kontejner-kontejner (více uzlů) |
---|---|---|---|---|
překladu adres (výchozí) | Vhodné pro vývojáře |
|
Směrováno přes vNIC pro správu (svázané s WinNAT) | Nepodporuje se přímo: vyžaduje zveřejnění portů prostřednictvím hostitele. |
průhledný | Vhodné pro vývojáře nebo malá nasazení |
|
Směrováno přes hostitele kontejneru s přímým přístupem k (fyzickému) síťovému adaptéru | Směrováno přes hostitele kontejneru s přímým přístupem k (fyzickému) síťovému adaptéru |
překrytí | Vhodné pro více uzlů; vyžaduje se pro Docker Swarm, který je k dispozici v Kubernetes. |
|
Nepodporuje se přímo – vyžaduje druhý koncový bod kontejneru připojený k síti NAT v systému Windows Server 2016 nebo pravidlo překladu adres (VFP NAT) ve Windows Serveru 2019. | Stejné nebo různé podsítě: Síťový provoz je zapouzdřen pomocí VXLAN a směrován přes Mgmt vNIC. |
L2Bridge | Používá se pro Kubernetes a SDN Microsoftu. |
|
Adresa MAC kontejneru se znovu zapisuje při příchozím a výchozím přenosu dat. |
|
L2Tunnel | Pouze Azure | Stejná nebo křížová podsíť: Připojeno k virtuálnímu přepínači fyzického hostitele Hyper-V, kde se aplikuje politika. | Provoz musí projít bránou virtuální sítě Azure. | Stejné nebo křížové podsítě: Připojené k virtuálnímu přepínači fyzického hostitele Hyper-V, kde se používá politika |
Správa IP adres
IP adresy se přidělují a přiřazují různým síťovým ovladačům. Systém Windows používá službu HNS (Host Networking Service) k poskytování služby IPAM pro ovladač nat a pracuje s režimem Docker Swarm (interní KVS) k poskytování služby IPAM pro překrytí. Všechny ostatní síťové ovladače používají externí IPAM.
Síťový režim / ovladač | Správa IP adres (IPAM) |
---|---|
NAT | Dynamické přidělování IP adres a přiřazení službou HNS (Host Networking Service) z předpony interní podsítě NAT |
Transparentní | Přidělování a přiřazení IP adres statických nebo dynamických (pomocí externího serveru DHCP) z IP adres v rámci předpony sítě hostitele kontejneru |
Překrytí | Dynamické přidělování IP adres ze spravovaných předpon a přiřazení v režimu Docker Engine Swarm prostřednictvím HNS |
L2Bridge | Dynamické přidělování IP adres a přiřazení službou HNS (Host Networking Service) ze zadané předpony podsítě |
L2Tunnel | Pouze Azure – Dynamické přidělování IP adres a přiřazení z modulu plug-in |
Zjišťování služeb
Zjišťování služeb je podporováno pouze u určitých síťových ovladačů Systému Windows.
Název ovladače | Zjišťování místních služeb | Globální zjišťování služeb |
---|---|---|
Nat | ANO | ANO s Dockerem EE |
překrytí | ANO | ANO s Docker EE nebo kube-dns |
transparentní | NE | NE |
l2bridge | ANO s kube-dns | ANO s kube-dns |