Wie man Daten auf ein Docker-Volume wiederherstellt

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker-Volumes (Docker-Volumes) sind ein leistungsstarkes Feature, das es Ihnen ermöglicht, Daten außerhalb des Lebenszyklus eines Containers zu persistieren. In diesem Tutorial erfahren Sie, wie Sie Daten auf ein Docker-Volume wiederherstellen können, um sicherzustellen, dass Ihre containerisierten Anwendungen auf die für ihren Betrieb erforderlichen Daten zugreifen können.

Grundlagen zu Docker-Volumes (Docker-Volumes)

Docker-Volumes (Docker-Volumes) sind eine Möglichkeit, die von einem Docker-Container generierten Daten zu persistieren. Sie sind so konzipiert, dass sie eine dauerhafte Speicherlösung bieten, die unabhängig vom Lebenszyklus des Containers ist. Docker-Volumes können verwendet werden, um verschiedene Arten von Daten zu speichern, wie z. B. Anwendungsdaten, Konfigurationsdateien und Logs.

Was sind Docker-Volumes?

Docker-Volumes sind Verzeichnisse oder Dateien, die in einem Docker-Container eingebunden werden. Sie werden verwendet, um Daten zu speichern, die über den Lebenszyklus des Containers hinaus bestehen bleiben müssen. Volumes können von Docker erstellt und verwaltet werden, oder sie können vom Benutzer erstellt und verwaltet werden.

Vorteile von Docker-Volumes

  1. Datenpersistenz: Docker-Volumes stellen sicher, dass die Daten auch dann bestehen bleiben, wenn der Container gestoppt, gelöscht oder neu erstellt wird.
  2. Datenteilung: Volumes können zwischen mehreren Containern geteilt werden, sodass diese auf die gleichen Daten zugreifen und diese ändern können.
  3. Datensicherung: Volumes können einfach gesichert und wiederhergestellt werden, was die Verwaltung und den Schutz wichtiger Daten erleichtert.
  4. Leistung: Volumes können eine bessere Leistung bieten als die Verwendung der beschreibbaren Ebene des Containers, insbesondere für E/A-intensive Anwendungen.

Arten von Docker-Volumes

Docker unterstützt zwei Hauptarten von Volumes:

  1. Benannte Volumes (Named Volumes): Dies sind Volumes, die von Docker erstellt und verwaltet werden. Sie haben einen eindeutigen Namen und können von anderen Containern einfach referenziert werden.
  2. Bind-Mounts: Dies sind Volumes, die direkt auf ein Verzeichnis auf dem Hostcomputer abgebildet werden. Sie bieten mehr Kontrolle über den Speicherort und den Inhalt des Volumes.
graph LR A[Docker Container] -- Read/Write --> B[Docker Volume] B --> C[Host File System]

Verwaltung von Docker-Volumes

Docker bietet mehrere Befehle zur Verwaltung von Volumes, darunter:

  • docker volume create: Erstellt ein neues Volume.
  • docker volume ls: Listet alle verfügbaren Volumes auf.
  • docker volume inspect: Zeigt die Details eines bestimmten Volumes an.
  • docker volume rm: Entfernt ein Volume.
## Create a new volume
docker volume create my-volume

## List all available volumes
docker volume ls

## Inspect a specific volume
docker volume inspect my-volume

Vorbereitung der Datenwiederherstellung

Bevor Sie Daten auf ein Docker-Volume wiederherstellen können, müssen Sie sicherstellen, dass Sie die erforderlichen Sicherungsdateien und Tools haben. Hier ist, was Sie tun müssen:

Sichern Sie Ihre Daten

Der erste Schritt besteht darin, eine Sicherung der Daten zu erstellen, die Sie wiederherstellen möchten. Dies kann auf verschiedene Weise erfolgen, je nach Art der Daten und den zur Verfügung stehenden Tools. Beispielsweise können Sie den Befehl docker commit verwenden, um ein neues Image aus einem laufenden Container zu erstellen, oder Sie können ein Sicherungstool wie tar oder rsync verwenden, um eine Sicherung des Inhalts des Volumes zu erstellen.

## Create a backup of a container's data
docker commit my-container my-backup:latest

## Create a backup of a volume using tar
docker run --rm -v my-volume:/backup -v /tmp:/output ubuntu tar -czf /output/backup.tar.gz /backup

Vorbereiten der Sicherungsdateien

Sobald Sie die Sicherungsdateien haben, müssen Sie sicherstellen, dass diese von der Hostmaschine aus zugänglich sind, auf der Sie die Daten wiederherstellen werden. Sie können die Sicherungsdateien in ein lokales Verzeichnis kopieren oder sie in einen Remote-Speicherdienst wie AWS S3 oder Google Cloud Storage hochladen.

Installieren der erforderlichen Tools

Abhängig von der Art der erstellten Sicherung müssen Sie möglicherweise zusätzliche Tools auf der Hostmaschine installieren, um die Daten wiederherzustellen. Wenn Sie beispielsweise ein tar-Archiv erstellt haben, müssen Sie den tar-Befehl installiert haben.

## Install tar on Ubuntu 22.04
sudo apt-get update
sudo apt-get install -y tar

Nachdem Sie die erforderlichen Sicherungsdateien und Tools bereitgestellt haben, können Sie mit dem nächsten Schritt fortfahren: die Wiederherstellung der Daten auf ein Docker-Volume.

Wiederherstellen von Daten auf ein Docker-Volume

Sobald Sie die erforderlichen Sicherungsdateien und Tools haben, können Sie mit der Wiederherstellung der Daten auf ein Docker-Volume fortfahren. So können Sie es machen:

Wiederherstellen von Daten auf ein benanntes Volume (Named Volume)

Um Daten auf ein benanntes Volume (Named Volume) wiederherzustellen, können Sie den Befehl docker run mit der Option --volumes-from oder -v verwenden, um die Sicherungsdateien in den Container einzubinden. Anschließend können Sie einen Befehl wie tar oder rsync verwenden, um die Daten auf das Volume zu kopieren.

## Restore data from a tar archive to a named volume
docker run --rm -v my-volume:/restore -v /path/to/backup.tar.gz:/backup.tar.gz ubuntu tar -xzf /backup.tar.gz -C /restore

Wiederherstellen von Daten auf ein Bind-Mount

Um Daten auf ein Bind-Mount wiederherzustellen, können Sie einen ähnlichen Ansatz verfolgen. Anstatt die Sicherungsdateien in den Container einzubinden, können Sie das Hostverzeichnis einbinden, das die Sicherungsdateien enthält.

## Restore data from a tar archive to a bind mount
docker run --rm -v /host/path:/restore -v /path/to/backup.tar.gz:/backup.tar.gz ubuntu tar -xzf /backup.tar.gz -C /restore

Überprüfen der wiederhergestellten Daten

Nach der Wiederherstellung der Daten können Sie überprüfen, ob die Daten korrekt wiederhergestellt wurden, indem Sie den Inhalt des Volumes untersuchen oder einen Container ausführen, der das wiederhergestellte Volume verwendet.

## Inspect the contents of a named volume
docker run --rm -v my-volume:/restore ubuntu ls -l /restore

## Run a container that uses the restored volume
docker run -d --name my-app -v my-volume:/app my-app-image

Indem Sie diese Schritte befolgen, können Sie Daten auf ein Docker-Volume wiederherstellen und sicherstellen, dass die Daten Ihrer Anwendung aufbewahrt und zugänglich bleiben.

Zusammenfassung

Indem Sie die in diesem Tutorial beschriebenen Schritte befolgen, können Sie Daten erfolgreich auf ein Docker-Volume wiederherstellen und so Ihren containerisierten Anwendungen den Zugang zu den erforderlichen Daten ermöglichen. Dieser Prozess ist unerlässlich für die Aufrechterhaltung der Datenintegrität und die Gewährleistung des reibungslosen Betriebs Ihrer Docker-basierten Infrastruktur.