Datenpersistenz mit Docker Volumes: Speichern und Verwalten von Daten in Containern
Standardmäßig sind Daten, die innerhalb eines Docker-Containers gespeichert werden, flüchtig, d. h. sie gehen verloren, wenn der Container gestoppt oder entfernt wird. Um Daten zu speichern, bietet Docker ein Feature namens Volumes, mit dem Sie ein Verzeichnis vom Hostsystem in den Container mounten können.
Was sind Docker Volumes?
Docker Volumes sind eine Möglichkeit, Daten außerhalb des Dateisystems des Containers zu speichern und zu verwalten. Volumes können verwendet werden, um Anwendungsdaten, Konfigurationsdateien oder andere Daten zu speichern, die über den Lebenszyklus eines Containers hinaus bestehen bleiben müssen.
Volumes können mit dem Befehl docker volume
erstellt und verwaltet werden. Beispielsweise, um ein neues Volume zu erstellen:
docker volume create my-data-volume
Volumes in Containern mounten
Um ein Volume in einem Container zu mounten, können Sie das Flag -v
oder --mount
beim Ausführen des Befehls docker run
verwenden. Beispielsweise, um einen Nginx-Container auszuführen und ein Volume auf das Verzeichnis /usr/share/nginx/html
zu mounten:
docker run -d -p 80:80 -v my-data-volume:/usr/share/nginx/html nginx:latest
In diesem Beispiel wird das Volume my-data-volume
auf das Verzeichnis /usr/share/nginx/html
innerhalb des Containers gemountet. Alle in dieses Verzeichnis geschriebenen Daten werden im Volume gespeichert und bleiben bestehen, auch wenn der Container gestoppt oder entfernt wird.
Volumes verwalten
Sie können alle Volumes auf Ihrem System mit dem Befehl docker volume ls
auflisten:
docker volume ls
Um die Details eines bestimmten Volumes zu untersuchen, können Sie den Befehl docker volume inspect
verwenden:
docker volume inspect my-data-volume
Wenn Sie ein Volume nicht mehr benötigen, können Sie es mit dem Befehl docker volume rm
entfernen:
docker volume rm my-data-volume
Durch die Verwendung von Docker Volumes können Sie sicherstellen, dass Ihre Anwendungsdaten über den Lebenszyklus einzelner Container hinaus bestehen bleiben, was die Verwaltung und Skalierung Ihrer Anwendungen vereinfacht.