Volumes

Normalerweise werden Daten eines Containers gelöscht, sobald auch der Container gelöscht wurde. Um das zu verhindern, nutzen wir Volumes. Volumes sind dauerhafte Datenspeicher für Container, die von Docker erstellt und verwaltet werden.

Unbenannte Volumes

docker run -d \
-p 3306:5432 \
--name my-postgres \
-e POSTGRES_PASSWORD=secret \
postgres

Dieser Befehl erstellt im Hintergrund automatisch ein Volume, welches die ID des Containers für den Pfad nimmt.

Benannte Volumes

docker run -d \ 
-p 3306:5432 \
--name my-postgres \
-e POSTGRES_PASSWORD=secret \
-v my-postgres-data:/var/lib/postgresql/data \
postgres

Hier wird nun ein Volume mit dem Namen my-postgres-data erstellt und mappt es zu den Datenbank-Daten im Container.

Auch nach dem Löschen und erneuten Erstellen eines Containers mit identischer Konfiguration bleiben die gespeicherten Daten verfügbar.

Den Pfad auf den wir mappen müssen, können wir im Image auslesen.

Pfad des Volumes anzeigen

docker inspect -f '{{.Mounts}}' my-postgres

Dieser Befehl gibt uns sowohl den Pfad des Volumes auf dem Rechner zurück, als auch den Pfad auf dem Container, mit welchem das Volume verknüpft ist.

Zuletzt aktualisiert

War das hilfreich?