Docker auf einem Raspberry Pi zu installieren ist keine große Sache und auch sinnvoll, denn die kleine „Handy-Platine“ ist durchaus in der Lage mehrere Anwendungen in Containern zu betreiben. Auch ich habe die Prozedur schon einige Male durchlaufen, aber bis dato noch nie niedergeschrieben. Eine Nachlässigkeit, die ich hiermit korrigiere.
Bevor die eigentliche Installation beginnt, sind Vorarbeiten auf dem Raspberry notwendig, von dem ich an dieser Stelle ausgehe, dass er bereits mit einem aktuellen Raspbian 9 („Stretch“) bestückt ist. Auch solte der Kernel in der neuesten Version vorliegen, da es sonst zu Problemen mit den sog. Control Groups kommt.
sudo apt update
sudo apt full-upgrade
sudo rpi-update
Vor dem jetzt notwendigen Reboot werden die Kernel-Parameter in der Datei /boot/cmdline.txt noch angepasst, so dass die Control Groups (cgroup) für Speicher und CPU aktiviert sind. Sie werden für die Ressourcen-Vergabe an Container benötigt. Am einfachsten geht das wie folgt:
echo -n "$(head -n1 /boot/cmdline.txt) cgroup_enable=cpuset cgroup_enable=memory" | sudo tee /boot/cmdline.txt
Nun muss ein Reboot erfolgen, damit die Änderungen aktiviert werden. Danach beginnt die eigentliche Installation von Docker mit der De-Installation veralteter Versionen aus der Raspbian-Distribution. Warnungen an dieser Stelle wegen nicht installierter Pakete sind normal und können ignoriert werden:
sudo apt remove docker docker-engine docker.io containerd runc
Direkt im Anschluß wird die „offizielle“ Docker Version über das bereitgestellte „Convenience Script“ installiert. Laut der Docker Webseite ist dies aktuell die einzige Alternative für Raspbian, auch wenn ich schon andere Wege gesehen habe. Letztendlich fügt das Skript auch nur die geeigneten Paketquellen hinzu und installiert die aktuelle Version des docker-ce Paketes.
curl -fsSL https://get.docker.com -o - | sudo sh
Schließlich ist noch der eigene Nutzer der „docker“ Gruppe hinzufügen, damit auf den Einsatz des root-Users weitestgehend verzichtet werden kann:
sudo usermod -aG docker $(id -un)
Um die neue Gruppenzugehörigkeit zu aktivieren ist ein Ab- und erneutes Anmelden notwendig. Zur Überprüfung kann abschliessend ein Test gefahren werden.
docker run --rm hello-world
Fertig.
Schreibe einen Kommentar