Title: Volúmenes y redes
Course: 2025 - LISI - Virtualizacion 2-2 > Section: Desarrollo y Orquestación con Docker

🧱 Tema: Volúmenes y Redes en Docker

🎯 Objetivo

Comprender el uso de volúmenes para la persistencia de datos y redes para la comunicación entre contenedores en entornos Docker, aplicando configuraciones prácticas y seguras.

📦 1. Volúmenes en Docker

✅ ¿Qué son los volúmenes?

Los volúmenes permiten almacenar datos fuera del ciclo de vida del contenedor, asegurando que la información persista incluso si el contenedor se elimina o reinicia.

🔹 Tipos de volúmenes:

- Volúmenes nombrados: creados y gestionados por Docker (docker volume create)
- Volúmenes anónimos: creados automáticamente sin nombre
- Montajes de host: vinculan una carpeta del sistema anfitrión al contenedor

🔧 Comandos básicos:

# Crear volumen

docker volume create datos_web

# Ver volúmenes

docker volume ls

# Inspeccionar volumen

docker volume inspect datos_web

# Usar volumen en un contenedor

docker run -v datos_web:/var/www/html nginx

🧪 Actividad práctica:

1. Crear un volumen llamado datos_mysql
2. Ejecutar un contenedor MySQL que use ese volumen para persistir datos
3. Verificar que los datos persisten tras eliminar el contenedor

🌐 2. Redes en Docker

✅ ¿Qué son las redes?

Las redes Docker permiten que los contenedores se comuniquen entre sí de forma segura y organizada.

🔹 Tipos de redes:

Tipo | Descripción
bridge | Red privada por defecto para contenedores en el mismo host
host | El contenedor comparte la red del host
none | Sin red
overlay | Red distribuida para múltiples hosts (usada en Swarm)

🔧 Comandos básicos:

# Crear red personalizada

docker network create red_web

# Ejecutar contenedor en red

docker run --network red_web nginx

# Ver redes

docker network ls

# Inspeccionar red

docker network inspect red_web

🧪 Actividad práctica:

1. Crear una red llamada red_app
2. Ejecutar dos contenedores (una app web y una base de datos) en esa red
3. Verificar que se comunican usando nombres de servicio

🧠 Buenas prácticas

- Usar volúmenes nombrados para facilitar la gestión
- Evitar montar carpetas sensibles del host
- Usar redes personalizadas para aislar servicios
- Nombrar contenedores y redes de forma clara

📚 Recursos complementarios

- Docker Volumes
- Docker Networking
- Tutoriales en YouTube: “Docker Volumes Explained” y “Docker Networking Deep Dive”