7. Redes en Docker

Docker gestiona redes de forma automática y flexible para permitir la comunicación entre contenedores, entre contenedores y el host, o entre contenedores en diferentes hosts.


Tipos de redes en Docker

Tipo Descripción
bridge Red por defecto para contenedores independientes
host El contenedor comparte la red del host directamente
none El contenedor no tiene red
overlay Redes entre múltiples hosts (requiere Docker Swarm)

Redes bridge

Este es el tipo más común. Docker crea una red bridge por defecto y cada contenedor se conecta a ella si no se especifica otra.

Crear red personalizada

docker network create mi_red

Usar la red en un contenedor

docker run -d --name contenedor1 --network mi_red nginx

Los contenedores en la misma red pueden comunicarse por nombre:

curl http://contenedor1

Redes en Docker Compose

Docker Compose crea automáticamente una red para todos los servicios, pero puedes definir redes personalizadas:

services:
  backend:
    image: myapi
    networks:
      - interna

  frontend:
    image: myui
    networks:
      - interna

networks:
  interna:
    driver: bridge

Esto permite aislar servicios y controlar la topología de red de tu arquitectura.


Ver y gestionar redes

docker network ls
docker network inspect mi_red
docker network rm mi_red

Casos de uso comunes


Notas sobre el modo host

Cuando se usa --network host (solo en Linux), el contenedor comparte la pila de red del sistema host:

Esto puede ser útil para herramientas de red (como sniffers), pero no es recomendado para la mayoría de casos por seguridad.


Redes avanzadas (overlay, Macvlan)

Estas requieren configuraciones más complejas y no son necesarias en la mayoría de despliegues locales o de desarrollo.


08 Docker en producción