Sdílet prostřednictvím


Síťování kontejnerů Windows

Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Důležitý

Viz Docker Container Networking pro obecné síťové příkazy, možnosti a syntaxi Dockeru. S výjimkou všech případů popsaných v nepodporovaných funkcích a možnostech sítějsou všechny síťové příkazy Dockeru podporovány ve Windows se stejnou syntaxí jako v Linuxu. Síťové zásobníky windows a Linuxu se ale liší a například zjistíte, že některé síťové příkazy Linuxu (například ifconfig) nejsou ve Windows podporované.

Základní síťová architektura

Toto téma obsahuje přehled o tom, jak Docker vytváří a spravuje hostitelské sítě ve Windows. Kontejnery Windows fungují podobně jako virtuální počítače, pokud jde o sítě. Každý kontejner má virtuální síťový adaptér (vNIC), který je připojený k virtuálnímu přepínači Hyper-V (vSwitch). Systém Windows podporuje pět různých síťových ovladačů nebo režimů, které lze vytvářet prostřednictvím Dockeru: nat, overlay, transparent, l2bridgea l2tunnel. V závislosti na infrastruktuře fyzické sítě a požadavcích na síť s více hostiteli byste měli zvolit síťový ovladač, který nejlépe vyhovuje vašim potřebám.

znázorňuje síťový stack Windows

Při prvním spuštění Docker Engine vytvoří výchozí síť NAT, 'nat', která používá interní vSwitch a komponentu Windows s názvem WinNAT. Pokud jsou na hostiteli nějaké externí vSwitchy vytvořené prostřednictvím PowerShell nebo Hyper-V Manager, budou také k dispozici pro Docker s použitím transparentního síťového ovladače a mohou být viděny při spuštění příkazu docker network ls.

ukazuje příkaz Docker network ls v PowerShellu

  • Interní vSwitch je ten, který není přímo připojen k síťovému adaptéru na hostiteli kontejneru.
  • Externí vSwitch je ten, který je přímo připojený k síťovému adaptéru na hostiteli kontejneru.

znázorňuje příkaz PowerShellu Get-VMSwitch pomocí .

Síť nat je výchozí sítí pro kontejnery běžící ve Windows. Všechny kontejnery, které běží ve Windows bez příznaků nebo argumentů pro implementaci konkrétních konfigurací sítě, se připojí k výchozí síti nat a automaticky přiřadí IP adresu z interního rozsahu IP adres sítě nat. Výchozí interní předpona IP adres používaná pro nat je 172.16.0.0/16.

Správa sítě kontejnerů s využitím hostitelské síťové služby

Služba HNS (Host Networking Service) a hostitelská výpočetní služba (HCS) spolupracují na vytváření kontejnerů a připojování koncových bodů k síti. S HNS můžete interagovat prostřednictvím modulu PowerShell Helper.

Vytvoření sítě

  • HNS vytvoří virtuální přepínač Hyper-V pro každou síť.
  • HNS vytvoří podle potřeby překlad adres (NAT) a fondy IP adres.

Vytvoření koncového bodu

  • HNS vytvoří síťový obor názvů pro každý koncový bod kontejneru.
  • HNS/HCS umístí v(m)NIC do síťového oboru názvů.
  • HNS vytvoří porty (vSwitch)
  • HNS přiřadí koncovému bodu IP adresu, informace DNS, trasy atd. (v režimu sítě).

Vytvoření zásad

  • Pro výchozí síť pro překlad adres (NAT) HNS vytváří pravidla přesměrování portů WinNAT a mapování spolu se souvisejícími pravidly povolení ve Windows Firewall.
  • Pro všechny ostatní sítě využívá HNS virtuální platformu filtrování (VFP) k vytvoření zásad, která zahrnuje vyrovnávání zatížení, seznamy ACL a zapouzdření. Další informace o rozhraních API HNS a schématu najdete v tématu rozhraní API služby Host Compute Network (HCN) pro virtuální počítače a kontejnery.

znázorňuje vrstvu správy HNS

Nepodporované funkce a možnosti sítě

V současné době se ve Windows nepodporují následující možnosti sítě NEJSOU podporované:

  • Kontejnery Windows z Windows Serveru 2022 mají následující podporu pro sítě IPv6:
    • Kontejnery připojené k sítím l2bridge podporují zásobník IPv6.
    • Kontejnery připojené k transparentním sítím podporují komunikaci pomocí protokolu IPv6 s vlastními IP adresami, ale nemají podporu pro přiřazení IP adres poskytované službou HNS a další síťové služby, jako je vyrovnávání zatížení a seznamy ACL.
  • Kontejnery Windows připojené k síti NAT a překryvným sítím nepodporují komunikaci přes zásobník IPv6.
  • Šifrovaná komunikace kontejneru přes protokol IPsec.
  • sítě v režimu hostitele.
  • Sítě ve virtualizované infrastruktuře Azure prostřednictvím transparentního síťového ovladače
Příkaz Nepodporovaná možnost
docker run --ip6, --dns-option
docker network create --aux-address, --internal, --ip-range, --ipam-driver, --ipam-opt, --ipv6, --opt encrypted