son el conjunto de instrucciones de la CLI de Docker que permiten gestionar el aislamiento, la comunicación y el enrutamiento de red entre contenedores, así como entre los contenedores y el sistema host o redes externas.

Permiten definir la arquitectura de red (mediante distintos drivers), inspeccionar direcciones IP asignadas, y conectar o desconectar contenedores de forma dinámica sin necesidad de reiniciarlos.


comando docker network, muestra las disstintas opciones:

docker network

Crea una nueva red administrada por el usuario:

docker network create <NOMBRE>

Lista todas las redes existentes en el host:

docker network ls

Muestra los detalles de configuración (subredes, gateway, contenedores conectados e IPs) en JSON:

docker network inspect <NOMBRE>

Conecta un contenedor en ejecución a una red existente:

ocker network connect <RED> <CONTENEDOR>

Desconecta un contenedor de una red específica:

docker network disconnect <RED> <CONTENEDOR>

Elimina una o más redes (no se pueden borrar redes con contenedores activos):

docker network rm <NOMBRE>

Elimina de forma masiva todas las redes personalizadas no utilizadas:

docker network prune

distinto tipos de drivers:

  • bridge (por defecto): Crea una red privada virtual dentro del host. Los contenedores en la misma red bridge personalizada pueden comunicarse entre sí utilizando sus nombres de contenedor como nombres de host (resolución por DNS interno).
  • host: Remueve el aislamiento de red entre el contenedor y el host. El contenedor comparte la pila de red del host directamente (no requiere mapear puertos con -p).
  • overlay: Habilita la comunicación entre contenedores alojados en diferentes hosts o nodos (utilizado en arquitecturas multinodo con Docker Swarm).
  • macvlan: Asigna una dirección MAC física a cada contenedor, haciéndolo figurar como un dispositivo independiente conectado directamente a la red física local.
  • none: Deshabilita la pila de red del contenedor por completo, aislándolo totalmente de cualquier interfaz
    • Solo tiene loopback (127.0.0.1): La única interfaz activa es lo, lo que significa que los procesos dentro del contenedor solo pueden hablar con otros procesos dentro de ese mismo contenedor
    • Procesamiento de datos sensibles: Generar claves criptográficas o procesar archivos locales leídos mediante volúmenes (-v), garantizando que ninguna información pueda filtrarse por red
    • Ejecución de código no confiable: Correr scripts de terceros o tareas por lotes de forma segura sin riesgo de que descarguen malware o ataquen otros servicios de tu red

docker crea automaticamente y por defecto redes con el mismo driver con ese nombre de ejemplo (con docker network ls listo todas las redes docker):

Red (Network): Es la instancia o subred aislada que creás para que tus contenedores se conecten entre sí y se comuniquen mediante IPs o nombres de host (por ejemplo: red_backend, red_frontend).

Driver de Red: Es el mecanismo o tecnología subyacente que define las reglas técnicas de cómo se encapsulan, aíslan y enrutan los paquetes de datos.

Analogía

  • El driver es el tipo de transporte (ej. tren, avión, carretera).
  • La red es la línea o ruta específica que construís usando esa tecnología (ej. “Línea A” o “Ruta 2”).

ejemplo:

Crear una red privada tipo bridge:

docker network create mi-red-app

osea:

docker network create mi-red-app

es equivalente a:

docker network create -d bridge mi-red-app

este video explica mucho:


continuación: