Da speziell ein Yocto-Build sehr viel Speicherplatz benötigt und mein System nicht allzuviel Platz besitzt (nach 2-3 Builds war die Festplatte voll) habe ich mir eine extra Festplatte für Docker in meinen PC eingebaut.
Diese Festplatte habe ich im ersten Schritt in die fstab eingetragen:
/dev/sdb2 /docker ext4 defaults,noatime,discard,rw,exec 0 1
Wichtig hierbei ist (bei der aktuelle Manjaro-Version 4.4.39-Kernel) die exec-Option, da ansonsten möglicherweise beim Start des docker-Images die Fehlermeldung:
standard_init_linux.go:175: exec user process caused “permission denied”
erscheint.
Anschließend wird der docker-Ordner gemounted:
sudo mount /docker
Nun erzeugt man ein Verzeichnis docker.service.d in /etc/systemd/system:
sudo mkdir /etc/systemd/system/docker.service.d
und anschließend eine Datei imagelocation.conf
sudo vi /etc/systemd/system/docker.service.d/imagelocation.conf
Hier trägt man dann folgende Zeilen ein:
[Service] ExecStart= ExecStart=/usr/bin/dockerd -g /docker -H fd://
Nun kann man alle Dateien von /var/lib/docker in das neue Docker-Verzeichnis kopieren:
sudo cp -r /var/lib/docker/ /docker
Nach Abschluss des Kopierens wird der docker-Dienst neu gestartet:
sudo systemctl restart docker
Mit dem Befehl:
docker info
kann überprüft werden, ob das Umstellen funktioniert hat. Hier sollte “Docker Root Dir” auf /docker stehen.