Compartir a través de


Red de contenedores de Windows

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Importante

Consulte Redes de contenedor de Docker para comandos, opciones y sintaxis generales de docker. A excepción de los casos descritos en características no admitidas y opciones de red, todos los comandos de red de Docker se admiten en Windows con la misma sintaxis que en Linux. Sin embargo, las pilas de red de Windows y Linux son diferentes y, por tanto, verá que algunos comandos de red de Linux (por ejemplo, ifconfig) no se admiten en Windows.

Arquitectura de red básica

En este tema se proporciona información general sobre cómo Docker crea y administra redes host en Windows. Los contenedores de Windows funcionan de forma similar a las máquinas virtuales en lo que respecta a las redes. Cada contenedor tiene un adaptador de red virtual (vNIC) que se conecta a un conmutador virtual Hyper-V (vSwitch). Windows admite cinco controladores o modos de red diferentes que se pueden crear a través de Docker: nat, overlay, transparent, l2bridge y l2tunnel. En función de la infraestructura de red física y de los requisitos de red de un solo host o de varios hosts, debes elegir el controlador de red que mejor se adapte a tus necesidades.

Muestra la pila de red de Windows

La primera vez que se ejecuta el motor de Docker, creará una red NAT predeterminada, "nat", que usa un vSwitch interno y un componente de Windows denominado WinNAT. Si hay vSwitches externos preexistentes en el host que se crearon a través de PowerShell o el Administrador de Hyper-V, también estarán disponibles para Docker mediante el controlador de red transparente y se pueden ver al ejecutar el docker network ls comando.

Muestra el comando de PowerShell de Docker network ls

  • Un vSwitch interno es uno que no está conectado directamente a un adaptador de red en el host de contenedor.
  • Un vSwitch externo es uno que está conectado directamente a un adaptador de red en el host de contenedor.

Muestra el comando de PowerShell Get-VMSwitch

La red 'nat' es la red predeterminada para los contenedores que se ejecutan en Windows. Los contenedores que se ejecuten en Windows sin marcas ni argumentos para implementar configuraciones de red específicas se adjuntarán a la red de 'nat' predeterminada y se les asignará automáticamente una dirección IP desde el intervalo de IP de prefijo interno de la red 'nat'. El prefijo IP interno de predeterminado usado para 'nat' es 172.16.0.0/16.

Administración de redes de contenedores con el servicio de red de host

El servicio de redes de host (HNS) y el servicio de proceso de host (HCS) funcionan conjuntamente para crear contenedores y conectar puntos de conexión a una red. Puede interactuar con HNS a través del módulo auxiliar de PowerShell de HNS.

Creación de redes

  • HNS crea un conmutador virtual de Hyper-V para cada red
  • HNS crea grupos de NAT y IP según sea necesario.

Creación de puntos de conexión

  • HNS crea un espacio de nombres de red por punto de conexión de contenedor
  • HNS/HCS coloca v(m)NIC dentro del espacio de nombres de red
  • HNS crea puertos (vSwitch)
  • HNS asigna la dirección IP, la información de DNS, las rutas, etc. (sujeto al modo de red) al punto de conexión

Creación de directivas

  • Para la red predeterminada de traducción de direcciones de red (NAT), HNS crea las reglas de reenvío de puertos WinNAT y las asignaciones con las reglas ALLOW de Firewall de Windows correspondientes.
  • Para todas las demás redes, HNS utiliza la Plataforma de filtrado virtual (VFP) para la creación de directivas que incluye equilibrio de carga, ACL y encapsulación. Para más información sobre las API de HNS y el esquema, consulte Api del servicio Host Compute Network (HCN) para máquinas virtuales y contenedores.

Muestra la pila de administración de HNS

Características y opciones de red no compatibles

Las siguientes opciones de red no se admiten actualmente en Windows:

  • Desde Windows Server 2022 en adelante, los contenedores de Windows conectados a redes l2bridge admiten la pila IPv6. Sin embargo, los contenedores de Windows conectados a redes NAT y superpuestas no admiten la comunicación a través de la pila IPv6.
  • Comunicación de contenedor cifrada a través de IPsec.
  • Redes en modo host .
  • Redes en la infraestructura virtualizada de Azure a través del controlador de red transparente.
Get-Help Opción no admitida
docker run --ip6, --dns-option
docker network create --aux-address, --internal, --ip-range, --ipam-driver, --ipam-opt, --ipv6, --opt encrypted