CodeGym /Corsi /Docker SELF /Backup e ripristino dei dati

Backup e ripristino dei dati

Docker SELF
Livello 19 , Lezione 3
Disponibile

4.1 Metodi principali per il backup e il ripristino dei dati

Se almeno una volta nella tua vita hai perso dati importanti, non c'è bisogno di spiegarti perché i backup siano fondamentali. In questa lezione, vedremo vari metodi e strumenti per creare backup e ripristinare dati in Docker, inclusi volumi e directory montate.

Metodi principali per il backup e il ripristino dei dati

  1. Backup dei volumi Docker
  2. Utilizzo dell'utility tar per backup
  3. Backup dei database all'interno dei container
  4. Ripristino dei dati dai backup

4.2 Backup dei volumi Docker

I volumi Docker forniscono un modo comodo per salvare i dati fuori dai contenitori. Per creare i backup dei volumi si possono utilizzare vari approcci.

Esempio di utilizzo del comando docker run per il backup di un volume

Creazione del backup di un volume

Crea un contenitore che monta il volume e usa l'utility tar per creare un archivio dei dati:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar czf 
/backup/my_volume_backup.tar.gz -C /data .

In questo esempio, il contenuto del volume my_volume è archiviato nel file my_volume_backup.tar.gz, che è salvato nella directory /path/to/backup sull'host.

Esempio di ripristino di un volume da un backup

Ripristino dei dati in un volume

Crea un contenitore che monta il volume e la directory con il backup, e usa l'utility tar per estrarre i dati:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf 
/backup/my_volume_backup.tar.gz -C /data

In questo esempio, i dati dall'archivio my_volume_backup.tar.gz vengono estratti nel volume my_volume.

4.3 Utilizzo dell'utilità tar per i backup

L'utilità tar è uno strumento potente per creare backup e ripristinare i dati. Può essere utilizzata sia all'interno dei container che sul sistema host.

Esempio di creazione di un backup dei dati all'interno di un container

Avvia il container con i dati necessari e crea un archivio utilizzando tar:

Terminale

docker exec -t my_container tar czf /backup/my_container_backup.tar.gz -C /data .

In questo esempio, i dati dalla directory /data all'interno del container my_container vengono archiviati nel file my_container_backup.tar.gz.

Esempio di ripristino dei dati da un archivio

Avvia il container e utilizza tar per estrarre i dati dall'archivio:

Terminale

docker exec -t my_container tar xzf /backup/my_container_backup.tar.gz -C /data

4.4 Backup dei database all’interno dei container

Per i database si utilizzano spesso strumenti specializzati per il backup e il ripristino.

Esempio di backup del database PostgreSQL

Usa l’utility pg_dump per creare un backup del database:

Terminale

docker exec -t my_postgres_container pg_dump -U myuser mydb > /path/to/backup/mydb_backup.sql

In questo esempio il database mydb viene esportato nel file mydb_backup.sql.

Esempio di ripristino del database PostgreSQL

Usa l’utility psql per ripristinare il database da un backup:

Terminale

cat /path/to/backup/mydb_backup.sql | docker exec -i my_postgres_container psql -U myuser mydb

4.5 Ripristino dei dati dai backup

Il ripristino dei dati è il processo di estrazione dei dati dai backup creati in precedenza.

Esempio di ripristino dei dati da un volume di backup

Usa il comando docker run per estrarre i dati nel volume:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf
/backup/my_volume_backup.tar.gz -C /data

Esempio di ripristino di un database MySQL

Usa l'utility mysqldump per creare un backup del database:

Terminal

docker exec my_mysql_container mysqldump -u myuser -p mypassword mydb >
/path/to/backup/mydb_backup.sql

Usa l'utility mysql per ripristinare il database:

Terminal

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