Wie ändere ich in Docker Desktop den Speicherort der Images und Container?
- Einleitung
- Ändern des Speicherorts unter Windows
- Ändern des Speicherorts unter macOS
- Alternative: Verwendung eines komplett neuen Docker-Homes
- Zusammenfassung
Einleitung
Docker Desktop speichert standardmäßig alle Daten, einschließlich Images, Container, Volumes und Netzwerke, in einem vordefinierten Verzeichnis auf dem Systemlaufwerk. Wenn der Speicherplatz auf diesem Laufwerk begrenzt ist oder Sie die Daten auf eine andere Festplatte oder Partition auslagern möchten, kann es sinnvoll sein, den Speicherort dieser Docker-Daten zu ändern. Im Folgenden wird erläutert, wie das in Docker Desktop möglich ist, wobei zwischen Windows- und macOS-Systemen unterschieden wird.
Ändern des Speicherorts unter Windows
Unter Windows nutzt Docker Desktop eine interne virtuelle Maschine (VM) unter Hyper-V oder WSL 2. Die Daten befinden sich standardmäßig im Benutzerprofil unter %USERPROFILE%\AppData\Local\Docker oder in der WSL-Distribution bei Verwendung von WSL 2. Da Docker Desktop keine eingebaute Funktion zum Ändern des Speicherpfades bietet, müssen Sie einen symbolischen Link (Symlink) verwenden, um den Speicherort zu verlagern.
Der Vorgang beginnt damit, Docker Desktop komplett zu stoppen, um sicherzustellen, dass keine Daten gerade verwendet werden. Anschließend kopieren Sie den kompletten Docker-Datenordner (zum Beispiel %USERPROFILE%\AppData\Local\Docker) an den neuen gewünschten Speicherort, der auf einer anderen Partition oder Festplatte liegen kann. Nachdem das Kopieren abgeschlossen ist, benennen Sie das Originalverzeichnis um oder löschen es, um Platz zu schaffen. Anschließend erstellen Sie einen symbolischen Link mit dem Kommando mklink /J (für einen Verzeichnis-Junction-Punkt) im ursprünglichen Pfad, der auf den neuen Speicherort verweist.
Nach diesem Schritt starten Sie Docker Desktop neu. Docker arbeitet nun mit dem symbolischen Link und verwendet den neuen Speicherort, ohne interne Einstellungen ändern zu müssen. Es ist wichtig, bei diesem Vorgang genau zu arbeiten, da ein Fehler in den Pfaden oder das Falsche Löschen von Daten zu einem Datenverlust führen kann.
Ändern des Speicherorts unter macOS
Auf Macs verwendet Docker Desktop eine beträchtliche Speicherdatei namens Docker.raw, die standardmäßig im Verzeichnis ~/Library/Containers/com.docker.docker/Data/vms/0/ liegt. Diese Datei enthält alle Images, Container und Volumes. Ähnlich zu Windows gibt es keine offizielle Einstellung in Docker Desktop, um den Pfad direkt zu ändern.
Hierfür müssen Sie Docker Desktop zunächst beenden. Danach verschieben Sie die Docker.raw-Datei an den neuen Speicherort, der beispielsweise auf einem größeren Volume liegen kann. Nach dem Verschieben erstellen Sie einen symbolischen Link vom ursprünglichen Speicherpfad zu dem neuen Pfad mit dem Terminal-Befehl ln -s /Docker.raw ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw. Dabei ist durch den tatsächlichen Pfad der verschobenen Datei zu ersetzen.
Nachdem der symbolische Link erstellt wurde, starten Sie Docker Desktop neu. Docker verwendet ab jetzt die Docker.raw-Datei am neuen Speicherort. Es empfiehlt sich, vor der Durchführung dieser Schritte ein Backup wichtiger Daten zu machen, um bei Problemen eine Wiederherstellung zu ermöglichen.
Alternative: Verwendung eines komplett neuen Docker-Homes
Eine weitere Möglichkeit, den Speicherort komplett zu ändern, besteht darin, die Docker-Konfiguration auf einen anderen Pfad zu lenken. Bei klassischen Docker-Umgebungen (z.B. bei Docker Engine auf Linux) kann dies durch Setzen der Umgebungsvariable DOCKER_ROOT oder Konfigurationsänderungen an der Docker-Daemon-Datei geschehen. Docker Desktop bietet diese Option jedoch nicht nativ an.
Falls Sie erweiterte Kontrolle benötigen, kann es in Erwägung gezogen werden, Docker direkt in einer virtuellen Maschine oder einem Linux-Container laufen zu lassen, wo Sie den Pfad für Daten frei wählen können. Für die meisten Desktop-User ist das aber zu aufwändig und die Symlink-Methode ausreichend und praktikabel.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass Docker Desktop keine direkte Einstellung für das Verschieben von Images und Containern auf ein anderes Laufwerk besitzt. Die gängige Lösung ist das Stoppen von Docker, das Verschieben des Docker-Datenverzeichnisses an den neuen Speicherort und das Erstellen eines symbolischen Links vom alten zum neuen Pfad. Diese Methode funktioniert sowohl unter Windows als auch Macs zuverlässig. Dabei sollten Sie vorsichtig vorgehen und Sicherungen anfertigen, um Datenverlust zu vermeiden.
