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.
Wenn wir diesen Container löschen und dann einen neuen Container mit der exakt selben Konfiguration starten, wird das Volume dennoch nicht angehängt.
Da die ID bei jedem Container anders ist, dann ist so auch der Pfad zum Volume immer anders.
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.
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?