Docker und Raspbian auf einem Raspberry Pi


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.

Weiterführende Informationen

Software und Dokumentation


3 Antworten zu “Docker und Raspbian auf einem Raspberry Pi”

  1. Danke für die Anleitung,
    wäre es möglich noch mehr zu erstellen, z.B. PiHole oder Baikal mit seperatem Container für die Datenbank?

    • Hi Nick, Du meinst mehr Anleitungen? Das mache ich in der Regel nur für Anwendungen die ich selber benötige und PiHole und Baikal gehören (noch) nicht dazu. Aber für beide gibt es Dutzende Tutorials, etc. im Netz, sobald Docker läuft und man sich in docker-compose eingearbeitet hat ist es echt nicht schwer.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert