Wie man Daten in einem Docker-Volume sichert

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 werden wir untersuchen, wie Sie die in Docker-Volumes (Docker-Volumes) gespeicherten Daten sichern und wiederherstellen können, um die Sicherheit und Zuverlässigkeit Ihrer containerisierten Anwendungen zu gewährleisten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ImageOperationsGroup -.-> docker/save("Save Image") docker/ImageOperationsGroup -.-> docker/load("Load Image") docker/VolumeOperationsGroup -.-> docker/cp("Copy Data Between Host and Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/save -.-> lab-411505{{"Wie man Daten in einem Docker-Volume sichert"}} docker/load -.-> lab-411505{{"Wie man Daten in einem Docker-Volume sichert"}} docker/cp -.-> lab-411505{{"Wie man Daten in einem Docker-Volume sichert"}} docker/volume -.-> lab-411505{{"Wie man Daten in einem Docker-Volume sichert"}} end

Grundlagen zu Docker-Volumes (Docker-Volumes)

Docker-Volumes (Docker-Volumes) sind eine Möglichkeit, die von einem Docker-Container erzeugten Daten zu persistieren. Sie bieten eine Möglichkeit, Daten unabhängig vom Lebenszyklus des Containers zu speichern und zu verwalten, sodass Daten zwischen Containern geteilt oder auch dann beibehalten werden können, wenn der Container gelöscht wird.

Was sind Docker-Volumes (Docker-Volumes)?

Docker-Volumes (Docker-Volumes) sind im Wesentlichen Verzeichnisse oder Dateien, die in einem Docker-Container eingebunden werden, sodass der Container Daten darin lesen und schreiben kann. Volumes können verwendet werden, um verschiedene Arten von Daten zu speichern, wie z. B. Anwendungs-Logs, Konfigurationsdateien oder andere Daten, die persistent sein müssen.

Vorteile von Docker-Volumes (Docker-Volumes)

  1. Datenpersistenz: Docker-Volumes (Docker-Volumes) stellen sicher, dass Daten nicht verloren gehen, wenn ein Container gestoppt, gelöscht oder neu erstellt wird.
  2. Datenaustausch: Volumes können zwischen mehreren Containern geteilt werden, sodass diese auf die gleichen Daten zugreifen und sie ändern können.
  3. Datensicherung und -wiederherstellung: Volumes können einfach gesichert und wiederhergestellt werden, was die Migration von Daten oder die Wiederherstellung nach einem Ausfall erleichtert.
  4. Leistung: Volumes können eine bessere Leistung bieten als die Verwendung der beschreibbaren Ebene des Containers, insbesondere bei E/A-intensiven Anwendungen.

Arten von Docker-Volumes (Docker-Volumes)

Docker unterstützt verschiedene Arten von Volumes:

  1. Benannte Volumes (Named Volumes): Diese Volumes erhalten einen eindeutigen Namen und werden von Docker verwaltet. Sie werden an einem zentralen Ort auf dem Host-System gespeichert und können einfach zwischen Containern geteilt werden.
  2. Anonyme Volumes (Anonymous Volumes): Diese Volumes werden ohne einen bestimmten Namen erstellt und werden normalerweise für temporäre Daten verwendet, die nicht persistent sein müssen.
  3. Bind-Mounts: Diese ermöglichen es Ihnen, ein Verzeichnis oder eine Datei vom Host-System direkt in den Container einzubinden, ohne das Volumenverwaltungssystem zu nutzen.

Erstellen und Verwalten von Docker-Volumes (Docker-Volumes)

Sie können Docker-Volumes (Docker-Volumes) mit der Docker-Befehlszeilenschnittstelle (Docker CLI) erstellen und verwalten. Hier sind einige häufige Befehle:

## Create a named volume
docker volume create my-volume

## List all available volumes
docker volume ls

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

## Remove a volume
docker volume rm my-volume

Sie können Volumes auch als Teil der Docker-Container-Konfiguration erstellen und verwalten, indem Sie die Optionen volumes oder mount in Ihren docker run- oder docker-compose.yml-Dateien verwenden.

Sichern von Docker-Volumes (Docker-Volumes)

Das Sichern von Docker-Volumes (Docker-Volumes) ist eine wichtige Aufgabe, um die Sicherheit und Wiederherstellbarkeit Ihrer Daten zu gewährleisten. Es gibt mehrere Methoden, mit denen Sie Ihre Docker-Volumes (Docker-Volumes) sichern können.

Verwendung der Docker-Befehlszeilenschnittstelle (Docker CLI)

Die Docker-Befehlszeilenschnittstelle (Docker CLI) bietet eine einfache Möglichkeit, ein Volume zu sichern. Sie können den docker run-Befehl mit der Option --volumes-from verwenden, um einen neuen Container zu erstellen, der das Volume einbindet, das Sie sichern möchten, und dann den tar-Befehl verwenden, um ein Archiv der Volumedaten zu erstellen.

## Create a backup container that mounts the volume you want to back up
docker run --rm --volumes-from my-container -v $(pwd):/backup ubuntu tar cvf /backup/my-volume.tar /my-volume

## This command will create a tar archive of the volume data in the current directory

Verwendung eines Sicherungstools

Sie können auch ein spezielles Sicherungstool verwenden, um Ihre Docker-Volumes (Docker-Volumes) zu sichern. Eine beliebte Option ist LabEx Backup, das eine benutzerfreundliche Schnittstelle zum Sichern und Wiederherstellen von Docker-Volumes (Docker-Volumes) bietet.

graph TD A[Docker Container] --> B[Docker Volume] B --> C[LabEx Backup] C --> D[Backup Storage]

Um LabEx Backup zu verwenden, können Sie den LabEx Backup-Agenten auf Ihrem Docker-Host installieren und ihn so konfigurieren, dass er regelmäßig Ihre Docker-Volumes (Docker-Volumes) an einem Speicherort Ihrer Wahl sichert, wie z. B. in einem lokalen Verzeichnis, einem Netzwerkspeicher oder einem Cloud-Speicher.

Sichern von Volumes mit Docker Compose

Wenn Sie Docker Compose verwenden, um Ihre Container zu verwalten, können Sie Anweisungen zum Sichern von Volumes in Ihre docker-compose.yml-Datei aufnehmen. Beispielsweise können Sie den volumes-Abschnitt verwenden, um ein Sicherungsvolume anzugeben und dann ein benutzerdefiniertes Skript oder ein Drittanbietertool verwenden, um die Daten in diesem Volume zu sichern.

version: "3"
services:
  my-app:
    image: my-app:latest
    volumes:
      - my-volume:/app/data
      - backup:/backup
volumes:
  my-volume:
  backup:

In diesem Beispiel kann das backup-Volume verwendet werden, um die Sicherung des my-volume-Volumes zu speichern.

Wiederherstellen von Docker-Volume-Sicherungen

Das Wiederherstellen von Docker-Volume-Sicherungen ist ein unkomplizierter Prozess, der es Ihnen ermöglicht, Ihre Daten im Falle eines Datenverlusts oder eines Systemausfalls wiederherzustellen. Es gibt mehrere Methoden, mit denen Sie Docker-Volume-Sicherungen wiederherstellen können.

Verwendung der Docker-Befehlszeilenschnittstelle (Docker CLI)

Um eine Docker-Volume-Sicherung mit der Docker-Befehlszeilenschnittstelle (Docker CLI) wiederherzustellen, können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie ein neues Volume, auf das die Sicherung wiederhergestellt werden soll:
    docker volume create restored-volume
  2. Erstellen Sie einen neuen Container, der das wiederhergestellte Volume einbindet und die Sicherungsdaten extrahiert:
    docker run --rm -v restored-volume:/restored -v $(pwd):/backup ubuntu bash -c "cd /restored && tar xvf /backup/my-volume.tar --strip-components=1"
    Dieser Befehl extrahiert die Sicherungsdaten aus der Datei my-volume.tar in das restored-volume-Volume.
  3. Sie können nun das restored-volume-Volume in Ihren Docker-Containern verwenden.

Verwendung von LabEx Backup

Wenn Sie LabEx Backup verwendet haben, um Ihre Volumesicherungen zu erstellen, können Sie die LabEx Backup-Schnittstelle verwenden, um Ihre Daten wiederherzustellen. Der Prozess umfasst in der Regel die folgenden Schritte:

  1. Melden Sie sich an der LabEx Backup-Webschnittstelle an.
  2. Navigieren Sie zum Abschnitt "Backups" und suchen Sie die Sicherung, die Sie wiederherstellen möchten.
  3. Klicken Sie auf die Schaltfläche "Restore" und folgen Sie den Bildschirminstruktionen, um das Volume und den Wiederherstellungsort auszuwählen.
  4. LabEx Backup wird dann die Sicherungsdaten auf das angegebene Volume wiederherstellen.
graph TD A[LabEx Backup Web Interface] --> B[Select Backup] B --> C[Select Restore Location] C --> D[Restore Backup] D --> E[Restored Docker Volume]

Wiederherstellen von Volumes mit Docker Compose

Wenn Sie Docker Compose verwenden, um Ihre Container zu verwalten, können Sie Anweisungen zur Volumewiederherstellung in Ihre docker-compose.yml-Datei aufnehmen. Beispielsweise können Sie den volumes-Abschnitt verwenden, um ein Sicherungsvolume anzugeben und dann ein benutzerdefiniertes Skript oder ein Drittanbietertool verwenden, um die Daten aus der Sicherung auf das Hauptvolume wiederherzustellen.

version: "3"
services:
  my-app:
    image: my-app:latest
    volumes:
      - my-volume:/app/data
      - backup:/backup
volumes:
  my-volume:
  backup:

In diesem Beispiel können Sie das backup-Volume verwenden, um die Daten auf das my-volume-Volume wiederherzustellen.

Zusammenfassung

Am Ende dieses Tutorials werden Sie ein solides Verständnis von Docker-Volumes (Docker-Volumes) sowie der Techniken zum Sichern und Wiederherstellen Ihrer Daten haben. Dieses Wissen wird Ihnen helfen, die Integrität Ihrer containerisierten Anwendungen aufrechtzuerhalten und die langfristige Aufbewahrung Ihrer kritischen Daten zu gewährleisten.