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
- Docker-Volume-Backups
- Nutzung des tar-Tools für Backups
- Backups von Datenbanken innerhalb von Containern
- 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:
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:
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
:
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:
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:
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:
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:
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:
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:
cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
GO TO FULL VERSION