Tipos de Red en Docker
Docker proporciona varios controladores de red para controlar cómo los contenedores se comunican entre sí y con el mundo exterior.
Controladores de Red
- bridge: Red por defecto — los contenedores en el mismo bridge pueden comunicarse
- host: El contenedor usa la red del host directamente (sin aislamiento)
- none: Sin red — contenedor completamente aislado
- overlay: Red multi-host para Docker Swarm
Gestionar Redes
# Listar todas las redes
docker network ls
# Crear una red personalizada
docker network create mi-red
# Inspeccionar una red
docker network inspect mi-red
# Eliminar una red
docker network rm mi-red
Conectar Contenedores
Los contenedores en la misma red bridge definida por el usuario pueden alcanzarse entre sí por nombre de contenedor — Docker proporciona resolución DNS incorporada.
# Crear una red para nuestra app
docker network create app-red
# Ejecutar una base de datos en la red
docker run -d \
--name db \
--network app-red \
-e POSTGRES_PASSWORD=secreto \
postgres:16
# Ejecutar la app en la misma red
docker run -d \
--name api \
--network app-red \
-e DATABASE_URL=postgres://postgres:secreto@db:5432/postgres \
-p 3000:3000 \
miapi:latest
# ¡El contenedor api puede alcanzar db por el nombre "db"!
Puntos Clave
- ✅ Siempre crea redes personalizadas — no dependas del bridge por defecto
- ✅ Los contenedores en la misma red se comunican por nombre (DNS)
- ✅ Solo expón puertos al host cuando se necesite acceso externo