Loading...

Wie man Docker Volumes nutzt

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
3 min

Wenn du mit Docker arbeitest, brauchst du oft eine Möglichkeit, Daten zu speichern, die auch dann noch verfügbar sind, wenn deine Container gestoppt oder gelöscht werden. Genau hier kommen Docker Volumes ins Spiel. Stell sie dir wie spezielle Ordner vor, die deine Daten sicher und zugänglich halten, egal was mit deinen Containern passiert.

Zunächst einmal sind Docker Volumes eine Art Speicher, den Docker für dich verwaltet. Sie sind getrennt von der beschreibbaren Schicht des Containers, was bedeutet, dass die Daten in einem Volume nicht vom Lebenszyklus des Containers beeinflusst werden. Das ist super praktisch für Datenbanken, Datei-Uploads oder alle Daten, die du dauerhaft behalten möchtest.

Um ein Docker Volume zu erstellen, verwendest du einen einfachen Befehl:

docker volume create my_volume

Damit erstellst du ein Volume namens my_volume. Du kannst dieses Volume dann an einen Container anhängen, wenn du ihn startest:

docker run -v my_volume:/app/data my_image

In diesem Beispiel wird my_volume im Container unter dem Verzeichnis /app/data eingebunden. Alle Daten, die im Container nach /app/data geschrieben werden, werden im Volume gespeichert.

Nehmen wir an, du betreibst eine Web-App, die es Benutzern ermöglicht, Bilder hochzuladen. Du möchtest, dass diese Bilder erhalten bleiben, auch wenn du deine App aktualisierst oder neu startest. So könntest du das einrichten:

  1. Erstelle ein Volume für deine Bilder:
    docker volume create image_uploads
    
  2. Starte deinen Web-App-Container mit dem angehängten Volume:
    docker run -d -p 8080:80 -v image_uploads:/app/uploads my_web_app
    

    In diesem Befehl startet -d den Container im Hintergrund, -p 8080:80 leitet Port 8080 auf deinem Host zu Port 80 im Container, und -v image_uploads:/app/uploads bindet das image_uploads Volume im Container unter /app/uploads ein.
  3. Deine Web-App kann jetzt von Benutzern hochgeladene Bilder nach /app/uploads schreiben, und sie werden sicher im image_uploads Volume gespeichert.

Falls du jemals nachschauen möchtest, wo ein Volume seine Daten auf deinem Host-System speichert, kannst du folgenden Befehl nutzen:

docker volume inspect image_uploads

Dieser Befehl zeigt dir den Mountpoint des Volumes an, also das tatsächliche Verzeichnis auf deinem Host, in dem die Daten gespeichert werden.

Docker Volumes machen es auch einfach, Daten zwischen mehreren Containern zu teilen. Wenn du zum Beispiel einen separaten Container zum Verarbeiten der hochgeladenen Bilder hast, kannst du dasselbe Volume auch für diesen Container einbinden:

docker run -d -v image_uploads:/app/input image_processor

Jetzt können sowohl deine Web-App als auch dein Bildverarbeitungs-Container auf dieselben Bilder zugreifen.

Zusammenfassend sind Docker Volumes eine einfache, aber leistungsstarke Möglichkeit, persistente Daten in deiner Docker-Umgebung zu verwalten. Sie helfen, deine Daten zu schützen und machen es einfach, sie zwischen Containern zu teilen. Egal ob du mit Benutzer-Uploads, Datenbanken oder anderen persistenten Daten arbeitest – Docker Volumes sind ein unverzichtbares Werkzeug in deinem Docker-Toolkit.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!