4.1 Métodos principales para backups y recuperación de datos
Si alguna vez perdiste datos importantes, ya sabes por qué los backups son tan importantes. En esta lección vamos a explorar varios métodos y herramientas para crear backups y recuperar datos en Docker, incluyendo volúmenes y directorios vinculados.
Métodos principales para backups y recuperación de datos
- Backups de volúmenes de Docker
- Uso de la utilidad tar para backups
- Backups de bases de datos dentro de contenedores
- Recuperación de datos desde backups
4.2 Backups de volúmenes Docker
Los volúmenes de Docker ofrecen una manera conveniente de almacenar datos fuera de los contenedores. Para crear backups de volúmenes, se pueden usar diferentes enfoques.
Ejemplo de uso del comando docker run para hacer un backup de un volumen
Creación de un backup del volumen
Crea un contenedor que monte el volumen y usa la herramienta tar para crear un archivo comprimido de los datos:
docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar czf
/backup/my_volume_backup.tar.gz -C /data .
En este ejemplo, el contenido del volumen my_volume
se archiva en el archivo my_volume_backup.tar.gz
, que se guarda en el directorio /path/to/backup
en el host.
Ejemplo de restauración de un volumen desde un backup
Restauración de datos en el volumen
Crea un contenedor que monte el volumen y el directorio con el backup, y usa la herramienta tar
para extraer los datos:
docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf
/backup/my_volume_backup.tar.gz -C /data
En este ejemplo, los datos del archivo my_volume_backup.tar.gz
se extraen en el volumen my_volume
.
4.3 Uso de la herramienta tar
para backups
La herramienta tar
es una herramienta poderosa para crear backups y restaurar datos. Se puede usar tanto dentro de contenedores como en el sistema host.
Ejemplo de creación de un backup de datos dentro de un contenedor
Inicia un contenedor con los datos necesarios y crea un archivo con tar
:
docker exec -t my_container tar czf /backup/my_container_backup.tar.gz -C /data .
En este ejemplo, los datos del directorio /data
dentro del contenedor my_container
se archivarán en el archivo my_container_backup.tar.gz
.
Ejemplo de restauración de datos desde un archivo
Inicia un contenedor y utiliza tar para extraer los datos del archivo:
docker exec -t my_container tar xzf /backup/my_container_backup.tar.gz -C /data
4.4 Backups de bases de datos dentro de contenedores
Para bases de datos se usan frecuentemente herramientas especializadas para hacer backups y recuperación.
Ejemplo de backup de base de datos PostgreSQL
Usa la utilidad pg_dump
para crear un backup de la base de datos:
docker exec -t my_postgres_container pg_dump -U myuser mydb > /path/to/backup/mydb_backup.sql
En este ejemplo, la base de datos mydb
se exporta al archivo mydb_backup.sql
.
Ejemplo de restauración de base de datos PostgreSQL
Usa la utilidad psql
para restaurar la base de datos desde un backup:
cat /path/to/backup/mydb_backup.sql | docker exec -i my_postgres_container psql -U myuser mydb
4.5 Restauración de datos desde backups
Restaurar datos es el proceso de extraer datos desde los backups previamente creados.
Ejemplo de restauración de datos desde un backup de volumen
Usa el comando docker run
para extraer los datos en el volumen:
docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf
/backup/my_volume_backup.tar.gz -C /data
Ejemplo de restauración de una base de datos MySQL
Usa la utilidad mysqldump
para crear un backup de la base de datos:
docker exec my_mysql_container mysqldump -u myuser -p mypassword mydb >
/path/to/backup/mydb_backup.sql
Usa la utilidad mysql para restaurar la base de datos:
cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
GO TO FULL VERSION