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
- Backup dei volumi Docker
- Utilizzo dell'utility tar per backup
- Backup dei database all'interno dei container
- 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:
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:
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
:
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:
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:
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:
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:
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:
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:
cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
GO TO FULL VERSION