
Ändern des Docker root-Verzeichnisses
Die Docker Arbeitsumgebung kann im Laufe der Zeit je nach Arbeitsintensität gut und gerne mehrere Gigabyte verschlingen. Geht in dem Moment falsch kalkulierter Plattenplatz zur Neige, ist möglicherweise ein Umzug des Arbeitsverzeichnisses von Docker vonnöten. Damit dies gelingt, sind nur wenige Anpassungen erforderlich, die recht schnell und simpel abgehandelt werden können.
Standardmäßig ist das Wurzelverzeichnis von Docker unter /var/lib/docker zu finden. Genauer herausfinden lässt sich dies mit:
docker info | grep -i root

Bevor wir nun beginnen werden zunächst sämtliche laufende Docker Instanzen geschlossen und der Dienst gestoppt:
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
Nun passen wir die systemd-Datei von Docker an:
sudo nano /lib/systemd/system/docker.service
Dort findet sich die Zeile ‘ExecStart’. Diese passen wir an und fügen ihr den Pfad mit dem Parameter ‘-d’ hinzu, den wir als neues root-Verzeichnis von Docker definieren möchten. Das sieht dann in etwa so aus:

In diesem Fall wird sich Docker in dem Ordner /docker/ ein neuesn Zuhause einrichten. Falls dieser Ordner noch nicht existiert, legen wir ihn noch an:
sudo mkdir -p /docker/
Jetzt ziehen wir sämtliche Dateien von unserem alten root-Verzeichnis ins neue um:
sudo bash -c "mv /var/lib/docker/* /docker/"
Meiner bisherigenErfahrung nach, zieht das Kommando ‘mv’ die Dateien samt Ordner- und Dateiberechtigungen um. Um sicherzugehen, überprüfen wir dies nachdem der Kopiervorgang abgeschlossen ist mit:
ls -la /docker/
Da wir eine systemd-Konfigurationsdatei angepasst haben, muss der entprechende Dienst diese einmal neu einlesen:
sudo systemctl daemon-reload
Zuletzt fahren wir den Docker-Dienst wieder hoch:
sudo systemctl start docker.service
sudo systemctl start docker.socket
Über die Prozessliste können wir nun herausfinden, ob Docker den neuen Pfad als root-Verzeichnis akzeptiert hat:
ps aux | grep -i docker
