Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Além de aproveitar a rede 'nat' padrão criada pelo Docker no Windows, os usuários podem definir redes de contêiner personalizadas. Redes definidas pelo usuário podem ser criadas usando o comando docker network create -d <NETWORK DRIVER TYPE> <NAME>
da CLI do Docker. No Windows, os seguintes tipos de driver de rede estão disponíveis:
Driver de rede NAT
Os contêineres anexados a uma rede criada com o driver 'nat' serão conectados a um comutador Hyper-V interno e receberão um endereço IP do prefixo IP especificado pelo usuário (--subnet
). Há suporte para o encaminhamento/mapeamento de porta do host do contêiner para os pontos de extremidade do contêiner.
Dica
É possível personalizar a sub-rede usada pela rede 'nat' padrão por meio da configuração fixed-cidr
no arquivo de configuração do daemon do Docker .
Nota
As redes NAT criadas no Windows Server 2019 (ou acima) não são mais mantidas após a reinicialização.
Criando uma rede NAT
Para criar uma nova rede NAT com sub-rede 10.244.0.0/24
:
docker network create -d "nat" --subnet "10.244.0.0/24" my_nat
Driver de rede transparente
Os contêineres anexados a uma rede criada com o driver "transparente" serão conectados diretamente à rede física por meio de um comutador Hyper-V externo. Os IPs da rede física podem ser atribuídos estaticamente (requer --subnet
opção especificada pelo usuário) ou dinamicamente usando um servidor DHCP externo.
Nota
Devido ao requisito a seguir, não há suporte para conectar seus hosts de contêiner em uma rede transparente em VMs do Azure.
Requer: quando este modo é utilizado em um cenário de virtualização (o host do contêiner é uma VM), é necessária a falsificação do endereço MAC.
Criando uma rede transparente
Para criar uma nova rede transparente com 10.244.0.0/24
de sub-rede, 10.244.0.1
de gateway, 10.244.0.7
de servidor DNS e ID de 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 de rede de sobreposição
Popularmente usados por orquestradores de contêineres, como Docker Swarm e Kubernetes, contêineres anexados a uma rede de sobreposição podem se comunicar com outros contêineres anexados à mesma rede em vários hosts de contêiner. Cada rede de sobreposição é criada com sua própria sub-rede IP, definida por um prefixo IP privado. O driver de rede de sobreposição usa o encapsulamento VXLAN para alcançar o isolamento de tráfego de rede entre redes de contêiner de locatário e permite a reutilização de endereços IP em redes de sobreposição.
Requisitos: Certifique-se de que seu ambiente atende a esses pré-requisitos necessários para criar redes de sobreposição.
Requer o seguinte: no Windows Server 2019, isso requer KB4489899.
É necessário: no Windows Server 2016, isso requer KB4015217.
Nota
No Windows Server 2019 e acima, as redes de sobreposição criadas pelo Docker Swarm aproveitam as regras de NAT VFP para conectividade de saída. Isso significa que um determinado contêiner recebe um endereço IP. Isso também significa que ferramentas baseadas em ICMP, como ping
ou Test-NetConnection
, devem ser configuradas usando suas opções TCP/UDP em situações de depuração.
Como criar uma rede de sobreposição
Para criar uma nova rede overlay com a sub-rede 10.244.0.0/24
, servidor DNS 168.63.129.16
e 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
Driver de rede L2bridge
Os contêineres anexados a uma rede criada com o driver 'l2bridge' serão conectados à rede física por meio de um comutador externo de Hyper-V. No l2bridge, o tráfego de rede de contêiner terá o mesmo endereço MAC que o host devido à operação de conversão de endereços de Camada 2 (re-escrita de MAC) na entrada e saída. Em datacenters, isso ajuda a aliviar o estresse nos switches, que precisam aprender os endereços MAC de contêineres que, às vezes, são de curta duração. As redes L2bridge podem ser configuradas de duas maneiras diferentes:
- A rede L2bridge é configurada com a mesma sub-rede IP do host de contêiner
- A rede L2bridge está configurada com uma nova sub-rede IP personalizada
Na configuração 2, os usuários precisarão adicionar um endpoint no compartimento da rede do host que atua como um gateway e configurar capacidades de roteamento para o prefixo designado.
Criando uma rede l2bridge
Para criar uma nova rede l2bridge com a sub-rede 10.244.0.0/24
, o gateway 10.244.0.1
, o servidor DNS 10.244.0.7
e o identificador de 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
Dica
As redes L2bridge são altamente programáveis; Mais detalhes sobre como configurar o l2bridge podem ser encontrados aqui.
Driver de rede L2tunnel
A criação é idêntica ao l2bridge, porém, esse driver só deve ser usado em uma Pilha do Microsoft Cloud Stack (Azure). A única diferença em relação à l2bridge é que todo o tráfego de contêiner é enviado para o host de virtualização em que a política de SDN é aplicada, habilitando recursos como Grupos de segurança de rede do Azure para contêineres.
Topologias de rede e IPAM
A tabela a seguir mostra como a conectividade de rede é fornecida para conexões internas (contêiner a contêiner) e externas para cada driver de rede.
Modos de rede/drivers do Docker
Driver de Rede do Docker para Windows | Usos típicos | Contêiner a contêiner (nó único) | Contêiner a externo (nó único + vários nós) | Contêiner a contêiner (vários nós) |
---|---|---|---|---|
NAT (padrão) | Bom para desenvolvedores |
|
Roteamento pelo gerenciamento vNIC (associado ao WinNAT) | Sem suporte direto: requer que portas sejam expostas através do host |
Transparente | Bom para desenvolvedores ou implantações pequenas |
|
Roteamento pelo host de contêiner com acesso direto ao adaptador de rede (físico) | Roteamento pelo host de contêiner com acesso direto ao adaptador de rede (físico) |
Sobreposição | Ideal para vários nós; necessário para o Docker Swarm, disponível no Kubernetes |
|
Sem suporte direto – requer um segundo ponto de extremidade de contêiner anexado à rede NAT no Windows Server 2016 ou uma regra NAT VFP no Windows Server 2019. | Mesma sub-rede/entre sub-redes: o tráfego de rede é encapsulado usando VXLAN e roteado por meio da vNIC de gerenciamento |
L2Bridge | Usado para Kubernetes e Microsoft SDN |
|
Endereço MAC do contêiner reescrito na entrada e saída |
|
L2Tunnel | Somente no Azure | Mesma sub-rede/Entre sub-redes: anexada ao comutador virtual do Hyper-V do host físico em que a política é aplicada | O tráfego deve passar pelo gateway de rede virtual do Azure | Mesma sub-rede/Entre sub-redes: anexada ao comutador virtual do Hyper-V do host físico em que a política é aplicada |
IPAM
Os endereços IP são alocados e atribuídos de forma diferente para cada driver de rede. O Windows usa o HNS (Serviço de Rede de Host) para fornecer IPAM para o driver nat e trabalha com o Modo Docker Swarm (KVS interno) para fornecer IPAM para sobreposição. Todos os outros drivers de rede usam um IPAM externo.
Modo de Rede/Controlador | IPAM |
---|---|
NAT | Alocação e atribuição de IPs dinâmicos pelo HNS (Serviço de Rede do Host) do prefixo interno da sub-rede NAT |
Transparente | Alocação e atribuição de IP, que pode ser estática ou dinâmica (usando um servidor DHCP externo), a partir de endereços IP dentro do prefixo de rede do host do contêiner. |
Sobreposição | Alocação dinâmica de IPs a partir dos prefixos gerenciados pelo Modo Swarm do Docker Engine e atribuição por meio do HNS |
L2Bridge | Alocação e atribuição dinâmica de IP pelo HNS (Serviço de Rede de Host) do prefixo de sub-rede fornecido |
L2Tunnel | Apenas Azure – Alocação e atribuição dinâmica de IP pelo plug-in |
Descoberta de Serviço
A Descoberta de Serviços só tem suporte para determinados drivers de rede do Windows.
Nome do driver | Descoberta de Serviço Local | Descoberta de Serviço Global |
---|---|---|
Nat | SIM | SIM com o Docker EE |
sobreposição | SIM | SIM, com Docker EE ou kube-dns |
transparente | NÃO | NÃO |
l2bridge | SIM com kube-dns | SIM com kube-dns |