CodeGym /Kurse /Docker SELF /Backups und Wiederherstellung von Daten

Backups und Wiederherstellung von Daten

Docker SELF
Level 19 , Lektion 3
Verfügbar

4.1 Hauptmethoden von Backup und Datenwiederherstellung

Wenn du schon mal wichtige Daten verloren hast, brauchst du keine Erklärung, warum Backups so wichtig sind. In dieser Vorlesung schauen wir uns verschiedene Methoden und Tools an, um Backups zu erstellen und Daten in Docker wiederherzustellen, inklusive Volumes und gebundener Verzeichnisse.

Hauptmethoden von Backup und Datenwiederherstellung

  1. Docker-Volume-Backups
  2. Nutzung des tar-Tools für Backups
  3. Backups von Datenbanken innerhalb von Containern
  4. Datenwiederherstellung aus Backups

4.2 Docker-Volume-Backups

Docker-Volumes bieten eine praktische Möglichkeit, Daten außerhalb von Containern zu speichern. Für die Erstellung von Backups der Volumes können verschiedene Ansätze verwendet werden.

Beispiel zur Verwendung des docker run Commands für ein Volume-Backup

Erstellen eines Volume-Backups

Erstelle einen Container, der das Volume mountet, und benutze das tar-Tool, um ein Datenarchiv zu erstellen:

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 diesem Beispiel wird der Inhalt des Volumes my_volume in eine Datei my_volume_backup.tar.gz archiviert, die im Verzeichnis /path/to/backup auf dem Host gespeichert wird.

Beispiel zur Wiederherstellung eines Volumes aus einem Backup

Wiederherstellung der Daten im Volume

Erstelle einen Container, der das Volume und das Backup-Verzeichnis mountet, und benutze das tar-Tool, um die Daten zu extrahieren:

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 diesem Beispiel werden die Daten aus dem Archiv my_volume_backup.tar.gz in das Volume my_volume extrahiert.

4.3 Nutzung des Tools tar für Backups

Das Tool tar ist ein mächtiges Werkzeug zur Erstellung von Backups und zur Wiederherstellung von Daten. Es kann sowohl innerhalb von Containern als auch auf dem Hostsystem verwendet werden.

Beispiel für die Erstellung eines Backups innerhalb eines Containers

Starte den Container mit den benötigten Daten und erstelle ein Archiv mit tar:

Terminal

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

In diesem Beispiel werden die Daten aus dem Verzeichnis /data innerhalb des Containers my_container in der Datei my_container_backup.tar.gz archiviert.

Beispiel für die Wiederherstellung von Daten aus einem Archiv

Starte den Container und benutze tar, um Daten aus dem Archiv zu extrahieren:

Terminal

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

4.4 Datenbank-Backups innerhalb von Containern

Für Datenbanken werden oft spezialisierte Tools für Backups und Wiederherstellung verwendet.

Beispiel für ein Backup einer PostgreSQL-Datenbank

Verwende das Utility pg_dump, um ein Backup der Datenbank zu erstellen:

Terminal

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

In diesem Beispiel wird die Datenbank mydb in die Datei mydb_backup.sql exportiert.

Beispiel für die Wiederherstellung einer PostgreSQL-Datenbank

Verwende das Utility psql, um die Datenbank aus einem Backup wiederherzustellen:

Terminal

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

4.5 Wiederherstellung von Daten aus Backups

Wiederherstellung von Daten – das ist der Prozess, Daten aus vorher erstellten Backups zu extrahieren.

Beispiel für die Wiederherstellung von Daten aus einem Volume-Backup

Benutze den Befehl docker run, um Daten ins Volume zu extrahieren:

Terminal

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

Beispiel für die Wiederherstellung einer MySQL-Datenbank

Benutze das Tool mysqldump, um ein Backup der Datenbank zu erstellen:

Terminal

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

Benutze das Tool mysql, um die Datenbank wiederherzustellen:

Terminal

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