CodeGym /Kursy /Docker SELF /Backupy i przywracanie danych

Backupy i przywracanie danych

Docker SELF
Poziom 19 , Lekcja 3
Dostępny

4.1 Podstawowe metody backupu i przywracania danych

Jeśli kiedykolwiek w życiu straciłeś ważne dane, nie muszę ci tłumaczyć, dlaczego backupy są ważne. W tym wykładzie przyjrzymy się różnym metodom i narzędziom do tworzenia backupów i przywracania danych w Dockerze, w tym wolumenów i powiązanych katalogów.

Podstawowe metody backupu i przywracania danych

  1. Backupy wolumenów Dockera
  2. Użycie narzędzia tar do backupów
  3. Backupy baz danych wewnątrz kontenerów
  4. Przywracanie danych z backupów

4.2 Kopie zapasowe wolumenów Docker

Wolumeny Docker zapewniają wygodny sposób przechowywania danych poza kontenerami. Do tworzenia kopii zapasowych wolumenów można używać różnych podejść.

Przykład użycia komendy docker run do kopii zapasowej wolumenu

Tworzenie kopii zapasowej wolumenu

Utwórz kontener, który montuje wolumen, i użyj narzędzia tar do stworzenia archiwum danych:

Terminal

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

W tym przykładzie zawartość wolumenu my_volume jest archiwizowana do pliku my_volume_backup.tar.gz, który jest zapisywany w katalogu /path/to/backup na hoście.

Przykład przywracania wolumenu z kopii zapasowej

Przywracanie danych do wolumenu

Utwórz kontener, który montuje wolumen i katalog z kopią zapasową, i użyj narzędzia tar do wyodrębnienia danych:

Terminal

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

W tym przykładzie dane z archiwum my_volume_backup.tar.gz są wyodrębniane do wolumenu my_volume.

4.3 Użycie narzędzia tar do backupów

Narzędzie tar to potężne narzędzie do tworzenia backupów i odzyskiwania danych. Może być używane zarówno wewnątrz kontenerów, jak i na systemach hosta.

Przykład tworzenia backupu danych wewnątrz kontenera

Uruchom kontener z potrzebnymi danymi i stwórz archiwum za pomocą tar:

Terminal

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

W tym przykładzie dane z katalogu /data wewnątrz kontenera my_container są archiwizowane do pliku my_container_backup.tar.gz.

Przykład odzyskiwania danych z archiwum

Uruchom kontener i użyj tar do wyodrębnienia danych z archiwum:

Terminal

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

4.4 Kopie zapasowe baz danych w kontenerach

W przypadku baz danych często używane są wyspecjalizowane narzędzia do tworzenia kopii zapasowych i przywracania danych.

Przykład tworzenia kopii zapasowej bazy danych PostgreSQL

Użyj narzędzia pg_dump, aby utworzyć kopię zapasową bazy danych:

Terminal

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

W tym przykładzie baza danych mydb jest eksportowana do pliku mydb_backup.sql.

Przykład przywracania bazy danych PostgreSQL

Użyj narzędzia psql, aby przywrócić bazę danych z kopii zapasowej:

Terminal

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

4.5 Przywracanie danych z backupów

Przywracanie danych — to proces wydobywania danych z wcześniej stworzonych backupów.

Przykład przywracania danych z backupu wolumenu

Użyj polecenia docker run, aby wydobyć dane do wolumenu:

Terminal

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

Przykład przywracania bazy danych MySQL

Użyj narzędzia mysqldump, aby stworzyć backup bazy danych:

Terminal

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

Użyj narzędzia mysql, aby przywrócić bazę danych:

Terminal

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