Mit den Standardeinstellung speichert Docker für Windows seine Daten, wie z.B. Images und Container unter C:\ProgramData\docker
Dies lässt sich einfach mit dem Docker-Kommando
docker info
überprüfen
In der Praxis will man aber die Docker Daten vielleicht gerne auf einem anderen Laufwerk speichern. Wie man Docker dementsprechend konfigurieren kann, will ich nun erläutern.
Zunächst sollte der Docker Service gestoppt werden. Dies kann man entweder über die Service Management Console …
… oder Kommandozeile tun.
Den Docker Dienst/Daemon dockerd.exe findet man normalerweise in C:\Program Files\Docker\
Ruft man diesen mit dem Parameter –help auf, so werden alle verfügbaren Kommandozeilenoptionen angezeigt. Darunter finden wir auch die Parameter für –data-root und den Debug Mode.
Ich könnte also einfach beim Starten des Docker-Daemons das –data-root Verzeichnis mit angeben, oder aber in der Konfigurationsdatei für den Daemon mit angeben.
Die Konfigurationsdateien für Docker werden unter C:\ProgramData\docker\config gespeichert. Out-of-the-box existiert hier allerdings keine Konfigurationsdatei für den Docker-Daemon.
Existiert die Datei nicht, so kann sie mit folgenden Kommando erstellt werden.
echo { "data-root": "d:\\DockerData" } > "C:\ProgramData\docker\config\daemon.json"
Dabei ist “d:\\DockerData” durch das Verzeichnis der Wahl zu ersetzen.
Nun sollte die Datei auch im Windows Explorer sichtbar sein.
Vorsichtshalber kann man den Inhalt der Konfigurationsdatei noch mit Notepad überprüfen und gegebenenfalls anpassen.
Jetzt ist es Zeit, den Docker-Daemon im Debug Mode zu starten.
"C:\Program Files\Docker\dockerd.exe" -D
Bereits beim Starten des Daemons ist nun das neue Verzeichnis ersichtlich.
Und
docker info
bestätigt dies
Mit CTRL+C bzw. STRG+C kann man den Docker-Deamon nun wieder beenden und mit
net start docker
wieder, wie gewohnt, als Service starten.
Auch in der Service Übersicht ist nun der Docker Engine Service wieder gestartet.