GP - Fotolia

Cómo configurar la red de contenedores en Windows

La configuración de red predeterminada para los contenedores de Windows es Network Address Translation, pero también puede configurar un Protocolo de configuración dinámica de host transparente o una red que no sea DHCP.

Los contenedores de Windows utilizan redes de host virtuales y/o físicas para implementar redes para aplicaciones. Puede ejecutar las funciones de redes de contenedores de Windows casi de la misma manera que lo hace para las máquinas virtuales, pero la arquitectura de redes de contenedores es diferente.

Cada contenedor de Windows implementa un adaptador de red virtual que se ejecuta sobre el controlador de red del sistema de contenedor. El adaptador de red virtual está conectado a un conmutador virtual Hyper-V en la máquina host. El contenedor admite cinco controladores de red diferentes: Network Address Translation (NAT), superposición, transparente, l2bridge y l2tunnel, y usted debe elegir el controlador que mejor se adapte a su infraestructura. Por ejemplo, es posible que desee elegir l2bridge si implementa el puente de red. Del mismo modo, es posible que desee utilizar el controlador de red NAT si implementa NAT en su infraestructura.

NAT predeterminado para redes de contenedores de Windows

Cuando se crea un contenedor de Windows, crea un NAT predeterminado. El sistema conecta NAT a un vSwitch interno en el contenedor y lo asigna al controlador WinNAT. El controlador WinNAT es responsable de pasar la comunicación del controlador NAT del contenedor a la máquina host de Windows o fuera del contenedor. Cualquier red que cree en la máquina host también está disponible para el contenedor de Windows. Para ver la lista de redes disponibles en un contenedor, ejecute el comando docker network ls como se muestra en la Figura 1 a continuación.

Figura 1. Muestre redes disponibles en un contenedor.

Como puede ver en la Figura 1 anterior, el comando enumera todas las conexiones de red disponibles en un contenedor. El alcance define el alcance de la red, que es local o de enjambre.

Cuando Docker Engine se inicia, implementa NAT. Luego, el sistema aplica el proceso de red Docker al controlador de red NAT y asigna automáticamente una dirección IP. El rango de IP para NAT es 172.16.0.0/16.

Implemente redes de contenedores transparentes de Windows

Si desea que las aplicaciones de contenedor se conecten a puntos finales remotos –por ejemplo, una aplicación que se ejecuta en otra máquina host– debe crear una conexión de red transparente, a veces denominada red definida por el usuario. Para iniciar el proceso de creación, ejecute el comando de creación de la red docker en una máquina host de Windows. Debe usar el indicador d para indicar qué controlador de red y qué tipo de red debe usar y crear. Los pasos a continuación explican cómo crear una red transparente tanto para el Protocolo de configuración dinámica de host (DHCP) como para las redes que no son DHCP.

Paso 1: Ejecute el comando Docker a continuación para crear una red habilitada para DHCP.

docker network create –d transparent dhcplan

Una vez que ejecute el comando anterior, debería ver una red dhcplan en el contenedor cuando ejecute el comando ls de la red docker.

Paso 2: El siguiente paso es colocar una imagen de contenedor en la red recién creada para que pueda acceder a los datos fuera del contenedor y/o conectarse a un punto final remoto si es necesario.

docker run –it –network=dhcplan Microsoft/windowsservercore

Como puede ver en el comando anterior, debe especificar network = dhcplan como una red personalizada para la imagen del contenedor Microsoft/windowsservercore.

Para las redes que no son DHCP, debe especificar la subred y una puerta de enlace, además de especificar el nombre de la red transparente, como se muestra en el siguiente comando.

docker network create -d transparent --subnet=10.88.28.0/24 --gateway=10.88.28.1 nondhcplan

Investigue más sobre Gestión de redes