Red de contenedores de Windows
Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016
Importante
Consulte Docker Container Networking para comandos, opciones y sintaxis generales de Docker. A excepción de los casos descritos en características y opciones de red no compatibles, 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, como tal, 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.
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.
- Un vSwitch interno es uno que no está conectado directamente a un adaptador de red en el host del contenedor.
- Un vSwitch externo es uno que está conectado directamente a un adaptador de red en el host de contenedor.
La red "nat" es la red predeterminada para los contenedores que se ejecutan en Windows. Los contenedores que se ejecutan en Windows sin marcas ni argumentos para implementar configuraciones de red específicas se asociarán a la red "nat" predeterminada y se asignará automáticamente una dirección IP desde el intervalo IP interno de la red "nat". El prefijo IP interno predeterminado usado para "nat" es 172.16.0.0/16.
Administración de redes de contenedores con el servicio de red 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 red
- HNS crea un conmutador virtual de Hyper-V para cada red.
- HNS crea grupos de DIRECCIONES IP y NAT 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 de servicio de red de proceso de host (HCN) para máquinas virtuales y contenedores.
Características no admitidas y opciones de red
Actualmente no se admiten las siguientes opciones de red en Windows:
- Desde Windows Server 2022 y versiones posteriores, los contenedores de Windows tienen la siguiente compatibilidad con las redes IPv6:
- Los contenedores conectados a redes l2bridge admiten la pila IPv6.
- Los contenedores conectados a redes transparentes admiten la comunicación mediante IPv6 con direcciones IP autoasignadas, pero no admiten la asignación de direcciones IP proporcionadas por HNS y otros servicios de red, como equilibrio de carga y ACL.
- Los contenedores de Windows conectados a redes NAT y de superposición 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 de Azure virtualizada a través del controlador de red transparente.
Comando | Opción no admitida |
---|---|
docker run |
--ip6 , --dns-option |
docker network create |
--aux-address , --internal , --ip-range , --ipam-driver , --ipam-opt , , --ipv6 --opt encrypted |