Redes de contenedores de Windows

Importante

Consulta Docker Container Networking (Redes de contenedores de Docker) para conocer los comandos, las opciones y sintaxis generales para las redes de Docker. Con la 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 lo 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 distintos controladores de red o modos que se pueden crear a través de Docker: NAT, Overlay, transparente, 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.

text

La primera vez que se ejecuta Docker Engine, crea una red NAT predeterminada, 'nat', que usa un vSwitch interno y un componente de Windows denominado WinNAT. Si hay vSwitches externos existentes en el host que se crearon a través de PowerShell o el administrador de Hyper-V, también estarán disponibles para Docker con el controlador de red transparente y pueden verse cuando ejecute el docker network ls comando.

text

  • Un vSwitch interno es aquél que no está conectado directamente a un adaptador de red en el host del contenedor.
  • Un vSwitch externo es aquel que está conectado directamente a un adaptador de red en el host del contenedor.

text

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 red de host (SNP) y el servicio de proceso de host (HCS) funcionan juntos para crear contenedores y adjuntar extremos a una red. Puede interactuar con SNP a través del módulo de aplicación auxiliar de PowerShell SNP.

Creación de redes

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

Creación de puntos de conexión

  • SNP crea espacio de nombres de red por extremo de contenedor
  • La NIC de los lugares de SNP/HCS coloca en el espacio de nombres de red
  • Puertos de creación (vSwitch) de SNP
  • SNP asigna direcciones IP, información de DNS, rutas, etc. (de acuerdo con el modo de red) al punto de conexión

Creación de directivas

  • Red NAT predeterminada: SNP crea reglas o asignaciones de reenvío de puerto de WinNAT con las reglas de permiso de Firewall de Windows correspondientes
  • Todas las demás redes: SNP emplea la plataforma de filtrado virtual (VFP) para la creación de directivas
    • Esto incluye: equilibrio de carga, ACL, encapsulación, etc.
    • Busque nuestras API y el esquema de SNP publicados aquí

text

Características y opciones de red no compatibles

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

  • Los contenedores de Windows conectados a las redes l2bridge, NAT y overlay no admiten la comunicación a través de la pila IPv6.
  • Comunicación de contenedor cifrada a través de IPsec.
  • Compatibilidad con el proxy HTTP para contenedores.
  • Redes de 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