Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt

DockerDockerBeginner
Jetzt üben

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

Einführung

In der Welt der Containerisierung ist Docker zu einem leistungsstarken Werkzeug für Entwickler und Systemadministratoren geworden. Eine der wichtigsten Funktionen von Docker ist die Möglichkeit, Volumes zu verwalten, was es Ihnen ermöglicht, Daten außerhalb des Dateisystems des Containers zu speichern. In diesem Tutorial werden wir untersuchen, wie Sie ein Docker-Volume mit dem SSHFS-Plugin erstellen können, um Ihre Docker-Container nahtlos mit Remote-Dateisystemen zu integrieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/VolumeOperationsGroup -.-> docker/cp("Copy Data Between Host and Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/version("Show Docker Version") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/cp -.-> lab-411525{{"Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt"}} docker/volume -.-> lab-411525{{"Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt"}} docker/info -.-> lab-411525{{"Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt"}} docker/version -.-> lab-411525{{"Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt"}} docker/build -.-> lab-411525{{"Wie man ein Docker-Volume mit dem SSHFS-Plugin erstellt"}} end

Einführung in Docker-Volumes

Docker-Volumes sind eine leistungsstarke Funktion im Docker-Ökosystem, die es Ihnen ermöglicht, Daten über den Lebenszyklus eines Containers hinaus zu speichern. Volumes bieten eine Möglichkeit, Daten unabhängig vom Container zu speichern und zu verwalten, was es einfacher macht, Daten zwischen Containern zu teilen, Daten zu sichern und die Dauerhaftigkeit der Daten sicherzustellen.

Im Kontext von Docker ist ein Volume ein Verzeichnis oder eine Datei, die in einem Container eingebunden wird, sodass der Container aus dem Volume lesen und in es schreiben kann. Volumes können mit der Docker-Befehlszeilenschnittstelle (Docker CLI) oder Docker Compose erstellt und verwaltet werden.

Volumes bieten mehrere Vorteile gegenüber der Verwendung des traditionellen Dateisystems innerhalb eines Containers:

  1. Datenpersistenz: Volumes stellen sicher, dass Daten auch dann erhalten bleiben, wenn der Container gestoppt, entfernt oder neu erstellt wird. Dies ist besonders nützlich für Anwendungen, die dauerhafte Speicherungen benötigen, wie z. B. Datenbanken, Logs und benutzererzeugten Inhalt.

  2. Datenteilung: Volumes können zwischen mehreren Containern geteilt werden, was die Datenteilung und Zusammenarbeit zwischen verschiedenen Teilen einer Anwendung ermöglicht.

  3. Datensicherung und -wiederherstellung: Volumes können einfach gesichert, wiederhergestellt und migriert werden, was die Verwaltung und den Schutz wichtiger Daten vereinfacht.

  4. Leistung: Volumes können im Vergleich zur Verwendung des Dateisystems des Containers eine bessere Leistung bieten, insbesondere für E/A-intensive Anwendungen.

  5. Flexibilität: Volumes können aus verschiedenen Speicherorten eingebunden werden, einschließlich des Host-Dateisystems, netzwerkgebundener Speicher oder cloudbasierter Speicherdienste, was eine größere Flexibilität bei der Datenverwaltung ermöglicht.

Um ein Docker-Volume zu erstellen, können Sie den Befehl docker volume create verwenden oder es in einer Docker Compose-Datei definieren. Nachdem das Volume erstellt wurde, kann es an einen Container mit der Option -v oder --mount beim Ausführen des Befehls docker run oder im Abschnitt volumes einer Docker Compose-Datei eingebunden werden.

graph TD A[Docker Host] --> B[Docker Engine] B --> C[Docker Container] B --> D[Docker Volume] C --> D

Durch das Verständnis der Grundlagen von Docker-Volumes können Sie Daten in Ihren Docker-basierten Anwendungen effektiv verwalten und dauerhaft speichern, was die Zuverlässigkeit und Skalierbarkeit Ihrer Bereitstellungen gewährleistet.

Erkundung des SSHFS-Plugins

Das SSHFS (Secure Shell Filesystem)-Plugin ist ein leistungsstarkes Werkzeug, das es Ihnen ermöglicht, entfernte Verzeichnisse über eine SSH-Verbindung als Docker-Volumes einzubinden. Mit diesem Plugin können Sie die Sicherheit und Flexibilität von SSH nutzen, um auf Daten zuzugreifen und diese zu verwalten, die auf entfernten Servern oder cloudbasierten Speicherdiensten gespeichert sind.

Was ist das SSHFS-Plugin?

Das SSHFS-Plugin ist ein Docker-Volumedriver, der es Ihnen ermöglicht, Docker-Volumes zu erstellen, die von einem über SSH zugänglichen entfernten Dateisystem unterstützt werden. Das bedeutet, dass Sie ein Verzeichnis von einem entfernten Server oder einem cloudbasierten Speicherdienst als Docker-Volume einbinden können, sodass Ihre Container Daten an diesen entfernten Speicherort schreiben und von dort lesen können.

Vorteile der Verwendung des SSHFS-Plugins

  1. Zugriff auf entfernte Daten: Das SSHFS-Plugin ermöglicht es Ihnen, direkt von Ihren Docker-Containern auf Daten zuzugreifen und diese zu verwalten, die auf entfernten Servern oder cloudbasierten Speicherdiensten gespeichert sind.

  2. Sichere Datenübertragung: Durch die Verwendung von SSH stellt das SSHFS-Plugin sicher, dass Ihre Daten sicher zwischen dem Docker-Host und dem entfernten Server übertragen werden, was eine zusätzliche Sicherheitsebene bietet.

  3. Flexibilität: Das SSHFS-Plugin kann verwendet werden, um Verzeichnisse von einer Vielzahl von entfernten Systemen einzubinden, einschließlich Linux-, macOS- und Windows-Servern sowie cloudbasierter Speicherdienste.

  4. Portabilität: Docker-Volumes, die mit dem SSHFS-Plugin erstellt wurden, können einfach zwischen verschiedenen Docker-Hosts geteilt und verschoben werden, was die Portabilität der Daten Ihrer Anwendung gewährleistet.

Installation und Konfiguration des SSHFS-Plugins

Um das SSHFS-Plugin zu verwenden, müssen Sie es auf Ihrem Docker-Host installieren. Dies können Sie tun, indem Sie den folgenden Befehl auf Ihrem Ubuntu 22.04-System ausführen:

sudo apt-get update
sudo apt-get install -y sshfs

Nachdem das SSHFS-Plugin installiert ist, können Sie ein neues Docker-Volume mit dem Befehl docker volume create und dem sshfs-Driver erstellen:

docker volume create --driver sshfs \
  --opt [email protected]:/remote/path \
  --opt password=your_ssh_password \
  my-sshfs-volume

Dieser Befehl erstellt ein neues Docker-Volume namens my-sshfs-volume, das von dem entfernten Verzeichnis /remote/path auf dem Server example.com unterstützt wird, wobei der angegebene SSH-Benutzer und das angegebene SSH-Passwort verwendet werden.

Indem Sie das SSHFS-Plugin nutzen, können Sie entfernte Datenquellen nahtlos in Ihre Docker-basierten Anwendungen integrieren, was die Flexibilität und Sicherheit Ihrer Bereitstellungen verbessert.

Konfiguration eines Docker-Volumes mit SSHFS

Nachdem Sie nun die Grundlagen von Docker-Volumes und dem SSHFS-Plugin verstanden haben, wollen wir uns dem Prozess der Konfiguration eines Docker-Volumes mit dem SSHFS-Plugin zuwenden.

Erstellen eines Docker-Volumes mit SSHFS

Um ein Docker-Volume mit dem SSHFS-Plugin zu erstellen, können Sie den Befehl docker volume create mit dem sshfs-Driver verwenden. Hier ist ein Beispiel:

docker volume create --driver sshfs \
  --opt [email protected]:/remote/path \
  --opt password=your_ssh_password \
  my-sshfs-volume

In diesem Beispiel erstellen wir ein neues Docker-Volume namens my-sshfs-volume, das von dem entfernten Verzeichnis /remote/path auf dem Server example.com unterstützt wird. Die Option sshcmd gibt die SSH-Verbindungsdetails an, und die Option password liefert das SSH-Passwort.

Einbinden des SSHFS-Volumes in einem Container

Nachdem Sie das von SSHFS unterstützte Docker-Volume erstellt haben, können Sie es mit der Option -v oder --mount beim Ausführen des Befehls docker run in einem Container einbinden. Hier ist ein Beispiel:

docker run -d \
  --name my-app \
  -v my-sshfs-volume:/app \
  my-app-image

In diesem Beispiel binden wir das Docker-Volume my-sshfs-volume an das Verzeichnis /app innerhalb des Containers ein. Dadurch kann der Container Daten in das entfernte Verzeichnis schreiben und von dort lesen, das beim Erstellen des Volumes angegeben wurde.

Überprüfung des SSHFS-Volumes

Um zu überprüfen, ob das SSHFS-Volume ordnungsgemäß funktioniert, können Sie einen Befehl innerhalb des laufenden Containers ausführen und den Inhalt des eingebundenen Verzeichnisses überprüfen:

docker exec my-app ls /app

Dies sollte die Inhalte des entfernten Verzeichnisses auflisten, das als Docker-Volume my-sshfs-volume eingebunden ist.

Indem Sie diese Schritte befolgen, können Sie einfach ein Docker-Volume mit dem SSHFS-Plugin konfigurieren, sodass Ihre Container sicher auf Daten zugreifen und diese verwalten können, die auf entfernten Servern oder cloudbasierten Speicherdiensten gespeichert sind.

Zusammenfassung

Am Ende dieses Tutorials werden Sie ein solides Verständnis davon haben, wie Sie ein Docker-Volume mit dem SSHFS-Plugin erstellen können. Mit diesem Wissen können Sie die Vorteile von Dockers Volumenverwaltungssystem nutzen und gleichzeitig nahtlos auf entfernte Dateisysteme von innerhalb Ihrer Container zugreifen, was Ihren gesamten Docker-Arbeitsablauf und Ihre Produktivität verbessert.