CodeGym /Cours /Docker SELF /Sauvegardes et récupération de données

Sauvegardes et récupération de données

Docker SELF
Niveau 19 , Leçon 3
Disponible

4.1 Méthodes principales de sauvegarde et de restauration des données

Si tu as déjà perdu des données importantes au moins une fois dans ta vie, pas besoin de t’expliquer pourquoi les sauvegardes, c’est super important. Dans cette leçon, on va voir différents moyens et outils pour faire des sauvegardes et restaurer des données dans Docker, y compris les volumes et les répertoires montés.

Méthodes principales de sauvegarde et de restauration des données

  1. Sauvegardes de volumes Docker
  2. Utilisation de l’outil tar pour les sauvegardes
  3. Sauvegardes des bases de données dans les containers
  4. Restauration des données depuis les sauvegardes

4.2 Sauvegardes des volumes Docker

Les volumes Docker proposent un moyen pratique de stocker les données en dehors des conteneurs. Pour créer des sauvegardes des volumes, diverses approches peuvent être utilisées.

Exemple d'utilisation de la commande docker run pour sauvegarder un volume

Créer une sauvegarde d'un volume

Crée un conteneur qui monte le volume et utilise l'utilitaire tar pour créer une archive des données :

Terminal

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

Dans cet exemple, le contenu du volume my_volume est archivé dans le fichier my_volume_backup.tar.gz, qui est sauvegardé dans le répertoire /path/to/backup sur l'hôte.

Exemple de restauration d'un volume à partir d'une sauvegarde

Restauration des données dans un volume

Crée un conteneur qui monte le volume et le répertoire contenant la sauvegarde, puis utilise l'utilitaire tar pour extraire les données :

Terminal

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

Dans cet exemple, les données de l'archive my_volume_backup.tar.gz sont extraites dans le volume my_volume.

4.3 Utilisation de l'outil tar pour les sauvegardes

L'outil tar est un puissant outil pour créer des sauvegardes et restaurer des données. Il peut être utilisé à la fois à l'intérieur des conteneurs et sur le système hôte.

Exemple de création d'une sauvegarde des données à l'intérieur d'un conteneur

Lance un conteneur avec les données nécessaires et crée une archive avec tar :

Terminal

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

Dans cet exemple, les données du répertoire /data à l'intérieur du conteneur my_container sont archivées dans le fichier my_container_backup.tar.gz.

Exemple de restauration des données à partir d'une archive

Lance un conteneur et utilise tar pour extraire les données de l'archive :

Terminal

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

4.4 Backups des bases de données dans des containers

Pour les bases de données, on utilise souvent des outils spécialisés pour les backups et la restauration.

Exemple de backup d'une base de données PostgreSQL

Utilise l'outil pg_dump pour créer un backup de la base de données :

Terminal

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

Dans cet exemple, la base de données mydb est exportée dans un fichier mydb_backup.sql.

Exemple de restauration d'une base de données PostgreSQL

Utilise l'outil psql pour restaurer la base de données à partir d'un backup :

Terminal

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

4.5 Restauration des données depuis les sauvegardes

La restauration des données, c’est le processus d’extraction des données depuis des sauvegardes créées auparavant.

Exemple de restauration des données depuis une sauvegarde de volume

Utilise la commande docker run pour extraire les données vers le 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

Exemple de restauration d'une base de données MySQL

Utilise l’utilitaire mysqldump pour créer une sauvegarde de la base de données :

Terminal

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

Utilise l’utilitaire mysql pour restaurer la base de données :

Terminal

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