Volumes & Networks | Estado y Aislamiento
Implementación de almacenamiento persistente gestionado por el Docker Engine y diseño de topologías de red virtuales basadas en el driver bridge para el aislamiento estricto de microservicios.
01. Persistencia de Datos: Volumes vs Bind Mounts
Zonas de almacenamiento totalmente gestionadas por Docker dentro de la ruta del sistema operativo host (/var/lib/docker/volumes/). Son aislados, de alto rendimiento y óptimos para bases de datos de producción.
Vinculan directamente una ruta absoluta específica del Host (ej: /home/user/app/configs) hacia el contenedor. Ideal para inyectar archivos de configuración en tiempo real o entornos de desarrollo activos.
02. Guía de Despliegue de Infraestructura Contenerizada
1. Inicializar Red Aislada y Volumen Persistente
Resource Creation
Antes de levantar los servicios, creamos los componentes de red y almacenamiento en el motor. La red utilizará el driver bridge para permitir que los contenedores acoplados tengan resolución automática de nombres por DNS interno.
docker network create --driver bridge red-produccion-net
docker volume create db-datos-vol
2. Desplegar Contenedor Vinculando Almacenamiento y Segmentación
Secure Run
Levantamos un motor de base de datos Postgres acoplándolo a la red privada (--network) e inyectando el volumen persistente (-v vol_name:container_path). **Nota técnica de seguridad:** Omitimos deliberadamente el mapeo de puertos hacia el host (-p); la base de datos es invisible para la red externa y solo accesible desde dentro del bridge virtual.
docker run -d --name db-servidor --network red-produccion-net -v db-datos-vol:/var/lib/postgresql/data -e POSTGRES_PASSWORD=SecretS3cur3! postgres:alpine
3. Conectar Contenedores Existentes a Nuevos Segmentos en Caliente
Hot-Plug NetworkSi un contenedor ya está corriendo en un segmento y necesitas darle acceso a otro sin destruir el proceso ni perder su estado, puedes inyectar dinámicamente una nueva interfaz de red virtual en caliente.
docker network connect red-produccion-net web-servidor
💡 Tras esto, web-servidor podrá resolver y consumir la base de datos apuntando directamente al hostname de red DNS interno db-servidor.