Was sind Volumes?
Volumes sind persistente Speicherbereiche, die außerhalb des Containers liegen.
Sie sind unabhängig vom Lebenszyklus eines Containers: Daten bleiben bestehen, auch wenn der Container gelöscht wird.
Volumes werden häufig für Datenbanken, Logs oder Konfigurationsdateien genutzt.
Vorteile gegenüber Bind-Mounts:
Docker verwaltet sie selbst
Portabel zwischen Hosts (z. B. in Kombination mit Docker Compose)
Verbesserte Performance auf Docker Desktop (Mac/Windows)
Wichtige Docker-CLI-Befehle für Volumes
1. Volumes auflisten
| Befehl | Beschreibung |
|---|---|
docker volume ls |
Zeigt alle existierenden Volumes an. |
docker volume ls -q |
Gibt nur die Namen der Volumes aus (praktisch für Skripte). |
2. Volume erstellen
| Befehl | Beschreibung |
|---|---|
docker volume create <volumename> |
Erstellt ein neues, benanntes Volume. |
docker volume create --driver local <volumename> |
Explizit mit dem lokalen Storage-Treiber. |
3. Volume Details anzeigen
| Befehl | Beschreibung |
|---|---|
docker volume inspect <volumename> |
Zeigt den Speicherort auf dem Host, verwendete Container und andere Metadaten an. |
4. Volume löschen
| Befehl | Beschreibung |
|---|---|
docker volume rm <volumename> |
Löscht ein Volume (nur möglich, wenn es nicht verwendet wird). |
docker volume prune |
Löscht alle unbenutzten Volumes. |
Volumes im Container verwenden
Beim Start eines Containers kannst du Volumes einbinden:
docker run -d \
--name mysql-container \
-v mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=geheim \
mysql:8
-v mysql-data:/var/lib/mysql bindet das Volume mysql-data an den Containerpfad /var/lib/mysql.
So bleiben alle Daten der MySQL-Datenbank persistiert, selbst wenn der Container gelöscht wird.