Docker: Volumes
Wie Sie die Daten Ihrer Container mit Docker-Volumes persistent speichern
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Docker Cloud CaaS (Containers as a Service) Lösung, die zahlreiche Vorteile bietet, darunter:
- Einfache Bereitstellung Ihrer Container in der Produktion mit nur einem
docker-compose up.- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://api.ihre-firma.com, https://www.ihre-firma.com, https://backoffice.ihre-firma.com).
- Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
- Mühelose Updates mit nur einem Klick.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Docker CaaS Cloud Hosting Lösung von Stackhero auszuprobieren und Ihre Container in der Produktion bereitzustellen!
Docker-Container sind von Natur aus flüchtig. Das bedeutet, dass alle Daten, die direkt in ihnen gespeichert werden, verloren gehen, wenn der Container entfernt oder durch eine andere Instanz ersetzt wird. Um die Datenpersistenz zu gewährleisten, sind Docker-Volumes der empfohlene Ansatz.
Verwenden Sie keine Docker-Bind-Mounts
Verwenden Sie keine Bind-Mounts auf Stackhero. Entscheiden Sie sich immer für Docker-Volumes, um Datenverlust zu vermeiden.
Bind-Mounts beinhalten das Verknüpfen eines Verzeichnisses von der Stackhero-Host-VM mit einem Container. Wenn Sie sich jedoch auf Bind-Mounts verlassen, führt das Aktualisieren Ihrer Stackhero for Docker-Instanz zum Verlust aller auf diese Weise gespeicherten Daten.
Bind-Mounts werden häufig im docker run-Befehl mit einer Syntax wie -v /meinVerzeichnis:/mnt (beachten Sie den führenden /) angegeben. In Docker-Compose-Dateien erscheinen sie als volumes: /meinVerzeichnis:/mnt. Verbieten Sie diese Konfigurationen, sonst verlieren Sie Ihre Daten.
Verwenden Sie stattdessen Docker-Volumes, die von Docker verwaltet werden und keine absoluten Pfade referenzieren.
Zusammenfassend:
Falscher Ansatz:
docker run -it -v /meinVerzeichnis:/mnt alpine
Richtiger Ansatz:
docker volume create meinVolume
docker run -it -v meinVolume:/mnt alpine
Bei der Arbeit mit Docker-Compose-Dateien:
Falsche Konfiguration:
services:
meinService:
image: alpine
volumes:
- /meinVerzeichnis:/mnt
Richtige Konfiguration:
services:
meinService:
image: alpine
volumes:
- meinVolume:/mnt
volumes:
meinVolume:
name: meinVolume
Nützliche Docker-Volume-Befehle
Hier ist eine schnelle Referenz zur Verwaltung von Docker-Volumes:
-
Um ein neues Volume namens
meinVolumezu erstellen, führen Sie aus:docker volume create meinVolume -
Um alle vorhandenen Volumes aufzulisten:
docker volume ls -
Um ein bestimmtes Volume namens
meinVolumezu entfernen:docker volume rm meinVolumeHinweis: Das Entfernen eines Volumes löscht alle darin gespeicherten Daten dauerhaft, und es gibt keine Möglichkeit, sie danach wiederherzustellen.