¿Qué son las redes en Docker?

Autor: | Última modificación: 4 de mayo de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Las redes en Docker son una herramienta que se encarga de definir cómo se comunicarán los contenedores de la plataforma entre sí. El sistema de contenedores Docker cuenta con distintos tipos de redes que son utilizadas para cumplir una gran variedad de labores y objetivos y que, además, tienen la posibilidad de interconectarse usando los llamados network drivers, dentro de los que destacan bridge, host y none.

Controladores de redes en Docker

El subsistema encargado de manejo de las redes en Docker se caracteriza por su propiedad de ser conectable, así como por su uso de controladores. Algunos de estos se asignan de forma preestablecida por el sistema y ofrecen una serie de funcionalidades de red básica.

Dentro de los controladores y tipos de redes en Docker más relevantes se encuentran:

Bridge

Bridge es la red estándar y network driver por defecto, por lo que se crea una vez se inicia la plataforma de Docker y sus contenedores se conectan a ella, a menos que el usuario indique específicamente lo contrario. Usualmente se utilizan cuando las aplicaciones del cliente se ejecutan en contenedores independientes entre sí, pero que requieren de una comunicación.

Este tipo de red se aplica a aquellos containers que se ejecutan en el mismo host del demonio de Docker. Cabe resaltar que cada uno de estos contenedores cuenta con su propia red, que es, además, independiente de la red del host donde se encuentran ubicados.

Host

El controlador de redes en Docker denominado Host es el encargado de eliminar el aislamiento que pueda existir entre un contenedor de la plataforma y el host. De manera que, cuando la red se encuentra en modo host, tiene la posibilidad de utilizarse con el objetivo de mejorar el rendimiento. Al mismo tiempo, funciona en los momentos donde un container requiera controlar una gran diversidad de puertos, debido a que no necesita realizar el proceso de traducción de direcciones de red y, además, no se crea un proxy de usuario para cada uno de los puertos.

En este tipo de redes en Docker, el contenedor usará la misma dirección IP del servidor real que tenga el usuario.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Este tipo de controlador de red solo puede utilizarse en los hosts propios del sistema operativo Linux y no presenta compatibilidad con recursos como Docker Desktop versión MAC ni Windows, ni tampoco es compatible con Docker EE para los servidores del sistema operativo de Windows.

Overlay

Hace referencia a uno de los tipos de redes en Docker que cumple con la función de crear una red distribuida entre distintos hosts del daemon de Docker. Esto permite que se realice la conexión de diversos contenedores en diferentes nodos del sistema.

Esta red conecta varios de los daemon de Docker, lo que contribuye a la comunicación de los llamados servicios de enjambre o swarm services entre sí y con un contenedor de tipo independiente, o bien entre dos contenedores independientes que se encuentres en diferentes daemon de la plataforma. Estas labores permiten que se pueda eliminar la necesidad de llevar a cabo un enrutamiento a nivel de sistema operativo entre los contenedores de Docker.

Ipvlan

Ipvlan indica una de las redes en Docker que se encarga de ofrecerle a los usuarios una gestión y control total sobre las direcciones IPv4 e IPv6. El controlador Ipvlan también proporciona a los operadores la totalidad del manejo del etiquetado de tipo VLAN de capa 2, e incluso de elementos como el enrutamiento IPvlan L3 para aquellos usuarios que quieran realizar procesos de integración de la red subyacente.

Macvlan

Esta es una de las redes en Docker que se utiliza para asignar una dirección MAC a un contenedor determinado, haciendo que este aparezca como si fuera un dispositivo físico en su red. De manera que el daemon de Docker se encarga de enrutar el tráfico hacia los contenedores a través de sus direcciones MAC.

Este controlador de redes en Docker es de gran utilidad para el manejo de aplicaciones que han sido heredadas y que esperan conectarse de forma directa con la red física, en lugar de ser enrutadas mediante la pila de red del host de la plataforma.

None

Esta opción es la encargada de inhabilitar todas las redes de la plataforma de contenedores. Usualmente se emplea en conjunto con un controlador de red personalizado por el usuario.

Comandos para redes en Docker

Algunos de los comandos que pueden utilizarse para gestionar las redes en Docker son:

  • Docker network create: es el encargado de crear una nueva red en el sistema.
  • Docker network ls: ofrece un listado de las redes que tiene el usuario.
  • Docker network rm: permite borrar una o más redes.
  • Docker network connect: es el comando que permite el proceso de conexión de un contenedor a una red.
  • Docker network disconnect: cumple con la función de desconectar un contenedor a la red.
  • Docker network inspect: esta opción se utiliza para obtener información detallada acerca de una determinada red.

¿Cuál es el siguiente paso?

Gracias a este artículo has podido aprender qué son las redes en Docker, así como cuáles son sus características, tipos y funciones principales dentro del sistema. Ahora es el momento de avanzar y seguir aprendiendo a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. En tan solo 6 meses dominarás esta y otras herramientas que te permitirán obtener una ventaja frente a tus competidores del sector IT. ¡Solicita información e inscríbete ya!

[email protected]