Docker: Verwenden Sie keine Docker-Bind-Mounts
Diese Dokumentation ist Teil des Volumes-Leitfadens. Den vollständigen Leitfaden finden Sie hier: 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!
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