CodeGym /Cursos /Docker SELF /Backups y restauración de datos

Backups y restauración de datos

Docker SELF
Nivel 19 , Lección 3
Disponible

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

  1. Backups de volúmenes de Docker
  2. Uso de la utilidad tar para backups
  3. Backups de bases de datos dentro de contenedores
  4. 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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

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:

Terminal

cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION