Docker: Redes Docker

Docker
Docker
Actualizado: 14/02/2025

Docker ofrece varios tipos de redes que se pueden utilizar según las necesidades del proyecto. Los principales tipos son:

  1. Red bridge (puente): Es la red predeterminada para contenedores en Docker. Permite que los contenedores en un mismo host se comuniquen entre sí.
  2. Red host: Utiliza la pila de red del host, permitiendo que el contenedor comparta la red del host directamente.
  3. Red none: Desactiva completamente las redes para el contenedor, útil para fines de aislamiento.
  4. Red overlay: Permite la comunicación entre contenedores en diferentes hosts en un clúster de Docker Swarm.
  5. Red macvlan: Asigna una dirección MAC a los contenedores, haciéndolos parecer dispositivos físicos en la red.

Configuración de redes Docker

Crear una red bridge

Para crear una red bridge personalizada, puedes usar el siguiente comando:

docker network create --driver bridge mi_red_bridge

Conectar un contenedor a una red

Para conectar un contenedor a una red específica, utiliza el siguiente comando al iniciar el contenedor:

docker run -d --name mi_contenedor --network mi_red_bridge nginx

Inspeccionar una red

Para obtener información detallada sobre una red, puedes usar el comando inspect:

docker network inspect mi_red_bridge

Desconectar un contenedor de una red

Si necesitas desconectar un contenedor de una red, usa el siguiente comando:

docker network disconnect mi_red_bridge mi_contenedor

Eliminar una red

Para eliminar una red que ya no necesites, utiliza el siguiente comando:

docker network rm mi_red_bridge

Ejemplos prácticos

Uso de red overlay en Docker Swarm

Primero, inicia un nodo Swarm:

docker swarm init

Luego, crea una red overlay:

docker network create --driver overlay mi_red_overlay

Inicia servicios en la red overlay:

docker service create --name servicio1 --network mi_red_overlay nginx
docker service create --name servicio2 --network mi_red_overlay httpd

Configuración de red macvlan

Crea una red macvlan con la siguiente configuración:

docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 mi_red_macvlan

Inicia un contenedor en la red macvlan:

docker run -d --name mi_contenedor_macvlan --network mi_red_macvlan nginx

Lecciones de este módulo

Explora todas las lecciones disponibles en Redes Docker

Explora más sobre Docker

Descubre más recursos de Docker

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Docker es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.