Estrategias de respaldo en Docker
Qué cubre este artículo sobre estrategias de respaldo en Docker
- Características de una buena estrategia de respaldo.
- Regla 3-2-1 para Docker.
- Qué debe respaldarse.
- Rotación, retención y pruebas.
- Herramientas y ejemplos.
Introducción: estrategias de respaldo en Docker
Los contenedores son sin estado, pero los datos que contienen no lo son. Si ejecutas contenedores Docker, debes garantizar que los datos persistentes, configuraciones e imágenes puedan recuperarse ante una falla. Una buena estrategia de respaldo debe ser regular, redundante y probada. Sin un plan, es fácil perder datos importantes.
Este artículo te mostrará cómo construir una estrategia de respaldo robusta para entornos Docker.
Términos clave
- Regla 3-2-1: Tres copias, dos medios, una externa.
- Retention: Período de retención.
- RTO: Recovery Time Objective.
- RPO: Recovery Point Objective.
- Snapshot: Copia puntual en el tiempo.
- Offsite: Ubicación de almacenamiento externa.
- Catalog: Lista de todos los respaldos.
- DR-Plan: Plan de recuperación ante desastres.
¿Qué respaldar?
- Volumes: Datos persistentes de las aplicaciones.
- Bind Mounts: Directorios del host.
- Archivos Compose: Infraestructura como código.
- Variables de entorno y archivos .env: Configuración.
- Images: Imágenes propias y sus etiquetas.
- Secretos: Certificados, claves, contraseñas.
- Database Dumps: Respaldos consistentes de bases de datos.
Regla 3-2-1
- Al menos tres copias de los datos.
- En al menos dos medios de almacenamiento diferentes.
- Una copia en una ubicación externa.
Ejemplo:
- Copia local en NAS.
- Copia externa en almacenamiento en la nube.
- Versión archivada adicional en otro medio.
Cronograma de respaldo
| Frecuencia | Contenido |
|---|---|
| Cada hora | Registros de transacciones de base de datos |
| Diariamente | Volumes, database dumps |
| Semanalmente | Respaldo completo de imágenes |
| Mensualmente | Respaldo de archivo |
Automatización
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
for vol in $(docker volume ls -q); do
docker run --rm -v ${vol}:/data -v /backup:/backup alpine \
tar -czf /backup/${vol}_${DATE}.tar.gz -C /data .
done
Database dumps
docker exec datenbank pg_dump -U postgres meine_db > /backup/db.sql
O:
docker exec datenbank mysqldump -u root -pgeheim db > /backup/db.sql
Respaldar configuración
cp -r /opt/docker/* /backup/configs/
Exportar imágenes
docker save -o /backup/images/mein-image.tar mein-image:latest
Offsite
- S3, Backblaze B2.
- rsync.net.
- Disco duro externo.
- Servidor FTP/SFTP.
Retención
- ¿Cuánto tiempo deben conservarse los respaldos?
- Respaldos diarios durante 14 días.
- Respaldos semanales durante 8 semanas.
- Respaldos mensuales durante 12 meses.
Pruebas
- Realizar un restore cada trimestre.
- Iniciar contenedores de prueba.
- Verificar la aplicación.
- Validar la integridad de los datos.
Herramientas
- Restic: Incremental, cifrado, deduplicado.
- Borg: Compresión, deduplicación.
- Duplicati: Interfaz web, almacenamiento en la nube.
- rsnapshot: Basado en snapshots.
Consejos
- Automatizar respaldos.
- Documentar períodos de retención.
- Probar regularmente.
- Nunca olvidar offsite.
- Usar cifrado.
- Guardar contraseñas separadas del respaldo.
- Mantener un catálogo.
Errores comunes
- Respaldar solo imágenes de contenedores: Faltan datos.
- Sin database dumps: Respaldos inconsistentes.
- Sin pruebas: La recuperación no funciona en una emergencia.
- Sin offsite: Un incendio o robo destruye todo.
- Retención incorrecta: El almacenamiento se llena o los respaldos son demasiado antiguos.
- Secrets en el respaldo: Peligroso si no está cifrado.
Enlaces y referencias adicionales
- BotServ.de Docker Volume-Backup
- BotServ.de Docker Logs
- BotServ.de Docker Log-Rotation
- BotServ.de Sicherer Betrieb Backup
FAQ: Estrategias de respaldo en Docker
¿Qué debo respaldar en Docker? Volumes, Bind Mounts, archivos Compose, archivos .env, database dumps e imágenes propias.
¿Con qué frecuencia debo hacer respaldos? Bases de datos diariamente, volumes según la frecuencia de cambios.
¿Qué son RTO/RPO? RTO es el tiempo máximo de recuperación, RPO es la pérdida de datos máxima tolerable.
¿Debo respaldar imágenes? Sí, si no pueden recrearse fácilmente.
¿Es suficiente un respaldo? No, mínimo 3-2-1, es decir, tres copias en dos medios, una externa.
Fuentes y referencias adicionales
- Restic: https://restic.net/
- BorgBackup: https://www.borgbackup.org/
- Duplicati: https://www.duplicati.com/
Resumen: Estrategias de respaldo en Docker
Una estrategia de respaldo en Docker bien planificada asegura volumes, configuración, database dumps e imágenes de forma regular, redundante y probada. La regla 3-2-1 ofrece un marco comprobado. La automatización, offsite, cifrado y pruebas regulares de recuperación son imprescindibles. Quien no solo crea respaldos sino que también los aplica en caso de emergencia está bien protegido contra la pérdida de datos.


