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.
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
.
- 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.
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.
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 |