Partilhar via


Rede de contêineres do Windows

Aplica-se a: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Importante

Consulte de rede de contêiner do Docker para obter comandos, opções e sintaxe gerais de rede do Docker. Com exceção de todos os casos descritos em recursos não suportados e opções de rede, todos os comandos de rede do Docker são suportados no Windows com a mesma sintaxe do Linux. No entanto, as pilhas de rede Windows e Linux são diferentes e, como tal, você descobrirá que alguns comandos de rede Linux (por exemplo, ifconfig) não são suportados no Windows.

Arquitetura básica de rede

Este tópico fornece uma visão geral de como o Docker cria e gerencia redes de host no Windows. Os contêineres do Windows funcionam de forma semelhante às máquinas virtuais em relação à rede. Cada contêiner tem um adaptador de rede virtual (vNIC) que está conectado a um comutador virtual Hyper-V (vSwitch). O Windows suporta cinco drivers ou modos de rede diferentes que podem ser criados através do Docker: nat, de sobreposição, transparente, l2bridgee l2tunnel. Dependendo da sua infraestrutura de rede física e dos requisitos de rede de host único versus multihost, você deve escolher o driver de rede que melhor atenda às suas necessidades.

Ilustra a pilha de rede do Windows

A primeira vez que o Docker Engine é executado, ele cria uma rede NAT padrão, 'nat', que usa um vSwitch interno e um componente do Windows chamado WinNAT. Se houver vSwitches externos pré-existentes no host que foram criados por meio do PowerShell ou do Hyper-V Manager, eles também estarão disponíveis para o Docker usando o driver de rede transparente e poderão ser vistos quando você executar o comando docker network ls.

Ilustra o comando do Docker network ls PowerShell

  • Um vSwitch de interno é aquele que não está diretamente conectado a um adaptador de rede no host do contêiner.
  • Um vSwitch de externo é aquele que está diretamente conectado a um adaptador de rede no host do contêiner.

Ilustra o comando Get-VMSwitch PowerShell

A rede 'nat' é a rede padrão para contêineres executados no Windows. Todos os contêineres executados no Windows sem sinalizadores ou argumentos para implementar configurações de rede específicas serão anexados à rede 'nat' padrão e automaticamente atribuídos um endereço IP do intervalo de IP de prefixo interno da rede 'nat'. O prefixo IP interno padrão usado para 'nat' é 172.16.0.0/16.

Gerenciamento de rede de contêiner com serviço de rede host

O Host Networking Service (HNS) e o Host Compute Service (HCS) trabalham juntos para criar contêineres e anexar pontos de extremidade a uma rede. Pode interagir com o HNS através do HNS Powershell Helper Module.

Criação de Redes

  • O HNS cria um comutador virtual Hyper-V para cada rede
  • O HNS cria pools de NAT e IP conforme necessário

Criação de Endpoint

  • O HNS cria um namespace de rede para cada ponto de extremidade de contentor
  • HNS/HCS coloca v(m)NIC dentro do namespace de rede
  • HNS cria portas (vSwitch)
  • O HNS atribui endereço IP, informações de DNS, rotas, etc. (sujeito ao modo de rede) ao ponto de extremidade

Criação de Políticas

  • Para a rede NAT (conversão de endereços de rede) padrão, o HNS cria as regras e mapeamentos de encaminhamento de porta WinNAT com as regras ALLOW do Firewall do Windows correspondentes.
  • Para todas as outras redes, o HNS utiliza a Plataforma de Filtragem Virtual (VFP) para a criação de políticas, que incluem balanceamento de carga, ACLs e encapsulamento. Para obter mais informações sobre APIs HNS e o esquema, consulte API de serviço HCN (Host Compute Network) para VMs e contêineres.

Ilustra a pilha de gestão HNS

Recursos e opções de rede não suportados

As seguintes opções de rede estão atualmente NÃO suportadas no Windows:

  • A partir do Windows Server 2022, os contêineres do Windows têm o seguinte suporte para rede IPv6:
    • Contêineres conectados a redes l2bridge suportam a pilha IPv6.
    • Os contêineres conectados a redes transparentes suportam a comunicação usando IPv6 com endereços IP autoatribuídos, mas não têm suporte para atribuição de endereços IP fornecidos pelo HNS e outros serviços de rede, como balanceamento de carga e ACLs.
  • Os contêineres do Windows conectados a redes NAT e de sobreposição não oferecem suporte à comunicação pela pilha IPv6.
  • Comunicação de contêiner criptografada via IPsec.
  • modo Host rede.
  • Funcionamento em rede na infraestrutura virtualizada do Azure através do driver de rede transparente.
Comando Opção não suportada
docker run --ip6, --dns-option
docker network create --aux-address, --internal, --ip-range, --ipam-driver, --ipam-opt, --ipv6, --opt encrypted