Volumes & persistente Daten
Daten überleben
Container sind flüchtig: Wird ein Container entfernt, sind auch seine Daten weg. Damit Datenbanken, Uploads und Co. das überleben, gibt es Volumes.
Zwei Arten, Daten zu speichern
| Art | Wofür | Beispiel |
|---|---|---|
| Benanntes Volume | persistente Daten (DB, Uploads) | db-data:/var/lib/mysql |
| Bind-Mount | Host-Verzeichnis einspiegeln (Code) | ./:/var/www/html |
Ein benanntes Volume verwaltet Docker selbst – ideal für Daten, die einfach nur überleben sollen. Ein Bind-Mount verknüpft ein konkretes Verzeichnis vom Host – ideal, um Code live zu bearbeiten.
Benannte Volumes
services:
db:
image: mariadb:11
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
Solange das Volume existiert, bleiben die Daten erhalten – auch über docker compose down hinweg.
Volumes verwalten
docker volume ls # vorhandene Volumes
docker compose down # Container weg, Volumes bleiben
docker compose down -v # ACHTUNG: löscht auch die Volumes
Häufiger Anfängerfehler: Datenbank-Daten liegen im Container statt in einem Volume – nach
docker compose downsind sie weg. Deshalb: persistente Daten immer in ein benanntes Volume.
Damit sind Daten sicher. Für den täglichen Umgang lohnt sich ein kompakter Werkzeugkasten an Befehlen.