Docker auf dem Raspberry Pi: Installation einer Container-Plattform

In dieser Anleitung installieren wir Docker auf dem Raspberry Pi, damit wir die geniale Möglichkeit erhalten, die Vorteile der Containerisierung mit den sparsamen Eigenschaften eines Pi‘s zu vereinen. Es handelt sich bei dieser Installation um eine umfassende Implementierung der Docker-Umgebung, die für Raspberry Pi-Modelle der dritten und vierten Generation funktioniert.

Was erledigen wir in diesem Raspberry Pi Tutorial?

Wir installieren Docker auf den Einplatinencomputer und optional erweitern wir die kleine Infrastruktur noch mit Docker-Compose und Portainer für die Administration und Verwaltung von Containern über eine Weboberfläche (GUI). Wer noch nicht ganz so familiär mit den Docker-Befehlen ist, profitiert vom letzten ganz besonders.

Inhaltsverzeichnis: Installation von Docker, Docker-Compose und Portainer für den Raspberry Pi

Docker auf dem Raspberry Pi installieren: Was wird benötigt?

Aus Performancegründen empfehle ich, dass die Docker-Software vorzugsweise auf dem neusten Modell, dem Raspberry Pi 4, mit mindestens 4 GB installiert wird. Ich habe alle Installationsschritte jedoch auch auf einem schwächeren Modell und auf dem Raspberry Pi 3 getestet, beide Docker-Installationen funktionierten ohne nennenswerte Probleme.

Zwar bringt die Container-Technologie viele Vorteile im Vergleich zur klassischen Virtualisierung mit, so sparen wir beispielsweise Ressourcen ein, da bei der Container-Virtualisierung die direkte Hardware vom Hostsystem verwendet wird. Dennoch möchten wir in der Regel mehrere Container für Anwendungen und Dienste parallel nutzen können, ohne, dass der Arbeitsspeicher zu knapp bemessen wurde.

Vorbereitungen für die Installation: Betriebssystem überprüfen und Systemaktualisierungen durchführen

Wir verwenden für die Installation von Docker auf dem Raspberry Pi das bewährte Raspbian OS Betriebssystem (heute Raspberry Pi OS). Die Software ist perfekt auf die Ansprüche des kleinen Computers angepasst worden und überzeugt durch eine exzellente Geschwindigkeit und einer hervorragenden Stabilität.

Falls noch nicht geschehen, installiere die aktuellste Version des offiziellen Betriebssystems auf deinem Pi und aktualisiere im Anschluss das bereitgestellte Repository zusammen mit den Paketquellen. Das kann mit dem folgenden Befehl umgesetzt werden.

Eine Aktualisierung der Paketquellen durchführen:

sudo apt update && sudo apt upgrade -y

Installation der Docker Software für die Raspberry Pi Modelle 3 und 4

In diesem Abschnitt installieren wir Docker auf dem Raspberry Pi. Wir laden zuerst das Skript für die Installation von der offiziellen Webseite herunter und führen es anschließend aus. Dann fügen wir den Standard-Benutzer „pi“ in die Gruppe der Docker-Benutzer hinzu.

Würden wir letzteres nicht tun, hätte ausschließlich der Root-Benutzer Zugriff auf die Container-Infrastruktur. Die Installation ist in wenigen Schritten erledigt, es benötigt nur eine Handvoll verschiedener Befehle, bis deine Docker-Umgebung auf dem Raspberry Pi bereit für den Betrieb von Docker-Containern ist.

Das Skript für die Installation von Docker herunterladen:

curl -fsSL https://get.Docker.com -o get-Docker.sh

Wir verwenden den curl-Befehl, um das offizielle Skript für die Installation vom Herausgeber auf deinem Raspberry Pi herunterzuladen. Damit ein Skript unter Linux ausgeführt werden kann, müssen wir noch den chmod-Befehl verwenden.

Das Skript ausführbar machen:

sudo chmod +x get-Docker.sh

Jetzt kann die Installation von Docker auf deinem Raspberry Pi erfolgen:

sudo ./get-Docker.sh

Der Installationsvorgang kann auf dem Pi einige Minuten andauern, da im Hintergrund einige Abhängigkeiten installiert werden müssen. Vielleicht ist das eine gute Gelegenheit, die Kaffee- oder Teetasse nachzufüllen? Sobald die Docker-Software erfolgreich installiert worden ist, fügen wir den User in die Docker-Gruppe hinzu. Alternativ kannst du auch einen neuen Benutzer erstellen.

Hinweis: In seltenen Fällen schlägt die Installation auf dem Raspberry Pi 4 fehl. Es scheint aktuell nur die B-Modelle zu betreffen. Hierbei hilft es, die Datei „/boot/cmdline.txt“ mit der folgenden Zeile zu erweitern: „cgroup enable=memory cgroup_memory=1 swapaccount=1“. Nach einem Neustart sollte die Fehlermeldung mit dem Inhalt „/usr/bin/dpkg returned an error code (1)“ nicht mehr ausgegeben werden.

Benutzer in die Gruppe „Docker“ hinzufügen:

sudo usermod -aG docker pi

Die Installation von Docker auf deinem Raspberry Pi ist an diesem Punkt abgeschlossen. Du kannst die installierte Version mit dem nachfolgenden Befehl validieren.

Prüfe die installierte Version von Docker:

sudo docker version

Abschließend bietet es sich an, einen Container mit dem Docker-Image „hello-world“ an den Start zu bringen, damit sichergestellt wird, dass die Docker-Engine erfolgreich ihren Job erledigt und keine Probleme bei der Installation aufgetreten sind.

Starte das Test-Docker-Image „hello-world“ mit dem folgenden Befehl:

sudo docker run hello-world

Installation von Docker-Compose auf dem Raspberry Pi (optional)

In diesem Schritt zeige ich dir, wie du zusätzlich noch Docker-Compose für Raspbian OS installieren kannst. Damit wird die Verwendung von sogenannten YAML-Dateien zum Erstellen von neuen Containern auf deinem Raspberry Pi ermöglicht. Das Werkzeug ist aus der Containerisierung-Technologie mit einer Docker-Umgebung kaum noch wegzudenken, da es dem Benutzer ermöglicht, mehrere Docker-Container zu einem logisch zusammengehörenden Dienst zu gruppieren und zu verwalten.

So lassen sich mehrere Container wie eine einzige Anwendung behandeln. Der vom Herausgeber empfohlene Installationsweg erfolgt über das Paketverwaltungsprogramm „pip“. Welches wir zunächst auf dem Pi installieren und anschließend wird das Compose-Werkzeug implementiert.

Das Paketverwaltungsprogramm (pip) installieren:

sudo apt-get install -y python3 python3-pip

Docker-Compose installieren:

sudo pip3 -v install docker-compose

Hinweis: Sollte es zu einer Fehlermeldung während der Installation von Docker-Compose auf dem Raspberry Pi kommen, können die nachfolgenden Befehle ausgeführt werden. Versuche die Installation anschließend erneut.

NUR Falls die Installation nicht funktioniert hat:

sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get remove python-configparser

Jetzt können auch YAML-Files für die Aufnahme neuer Dienste und Anwendungen auf deinem Raspberry Pi verwendet werden. Bedenke aber, dass dein neuer Docker-Server auf die ARM-Architektur basiert und nicht mit allen Containern kompatibel ist. Es können ausschließlich Docker-Images verwendet werden, die für ARM-konzipiert worden sind. Ein Überblick über kompatible Container bietet die Webseite Docker-Hub an.

Möchtest du deine Docker-Umgebung mit Portainer über eine Weboberfläche verwalten?

Sobald du Docker erfolgreich auf deinem Raspberry Pi installiert hast und den Hello-World-Container erfolgreich an den Start bringen konntest, möchtest du dem ganzen vielleicht noch eine Container-Management-Plattform mit grafischer Oberfläche draufsetzen?

Portainer ist eine Open-Source-Software, die uns eine benutzerfreundliche Weboberfläche zur Verfügung stellt, mit der wir Container ausführen, stoppen und starten können, ohne dass der Benutzer tiefgreifende Kenntnisse mit der Docker-Befehlszeile haben muss.

Wann lohnt sich eine Installation von Portainer auf dem Raspberry Pi?

Ich werde dir Gründe nennen, warum du Portainer für die Verwaltung deiner Docker-Umgebung verwenden solltest. Möchtest du lediglich einen einzelnen Container auf deinem Raspberry Pi mit Docker zum Laufen bringen? Dann dürfte Portainer vermutlich etwas überdimensioniert für deine Anwendungszwecke sein.

Ein großer Vorteil ist die Steuerung von Containern über die Weboberfläche. Du musst keine Docker-Befehle mehr eingeben und sparst dir den gesonderten Zugriff über SSH, um Docker-Container neu zu starten, zu stoppen oder einen Dienst zu überprüfen. Alles wird direkt über das Portainer Dashboard erledigt werden können, welches du mit einem beliebigen Webbrowser über die IP-Adresse deines Pi’s aufrufen kannst.

Container-Templates erlauben die schnelle Installation von beliebten Anwendungen wie Nextcloud, Emby, Plex oder WireGuard mit nur wenigen Klicks. Die Vorlagen kannst du direkt über die Portainer-Benutzeroberfläche herunterladen und implementieren. 

Das ist praktisch, da wir nun nicht mehr nach geeigneten Abbildern auf Webseiten wie die von Docker Hub suchen müssen, um uns über möglicherweise vorhandene Container-Images für ARM-Computer zu informieren.

Installation von Portainer: Verwalte deine Raspberry Pi Docker-Infrastruktur über den Browser

Installation von Portainer unter Docker für Raspberry Pi OS

Portainer ist ein nützliches Werkzeug für die grafische Verwaltung deiner Docker-Umgebung. Die Installation funktioniert selbsterklärend, auch auf dem Raspberry Pi. Das Besondere an dieser Container-Management-Software ist, dass sie selbst als Docker-Container ausgeführt wird. So kannst du die Funktionstüchtigkeit deiner Docker-Infrastruktur auf dem Raspberry Pi direkt überprüfen.

Zunächst müssen wir ein neues Volume anlegen, da Container so aufgebaut sind, dass die bei einem Neustart ihre Daten verlieren. Das möchten wir natürlich vermeiden, indem wir die Daten von Portainer auf einem separaten Speicherplatz abgelegen.

Ein Datenverzeichnis für Portainer erstellen:

docker volume create portainer_data

Sobald das Datenverzeichnis für Portainer auf deinem Raspberry Pi erstellt wurde, können wir den Docker-Container mit der Software beziehen und das soeben erstellte Volumen einbinden.

Die aktuellste Version von Portainer im Container-Docker ausführen:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Die Implementierung dauert nur einen kurzen Augenblick. Wurde der Befehl erfolgreich auf deinem Raspberry Pi ausgeführt? Dann kannst du den Status mit dem folgenden Befehl überprüfen, um sicherzustellen, dass der Docker-Container mit Portainer ordnungsgemäß gestartet wurde.

Docker-Befehl für die Auflistung laufender Container:

docker ps

Sobald der Container läuft, kannst du die Weboberfläche von Portainer über die IP-Adresse deines Raspberry Pi’s mit einem beliebigen Webbrowser aufrufen. Bedenke, dass der Zugriff über https realisiert werden muss.

IP-Adresse vom Raspberry Pi über den Browser ansteuern (Beispiel):

https://192.168.178.100:9443
Raspberry Pi Docker-Umgebung mit Portainer

Als Erstes muss ein Benutzername und ein Passwort für das Admin-Konto vergeben werden. Anschließend befindest du dich im Dashboard. Hier kannst du nun deinen Raspberry-Pi-Docker-Server vollständig verwalten. Bestehende Container administrieren oder deine Docker-Umgebung mit weiteren Diensten, die im Container ausgeführt werden können, erweitern.

Tipp: Der Docker-Container, der die Software Portainer ausführt, aktualisiert sich nicht selbstständig. Irgendwann wird die Zeit kommen, wo die auf deinem Raspberry Pi installierte Version nicht mehr zeitgemäß ist und eine Aktualisierung benötigt. Wie du in diesem Fall am besten vorgehen kannst, um deinen Docker-Server aktuell zu halten, erfährst du in diesem Beitrag: Wie kann Portainer aktualisiert werden?

Installation abgeschlossen: Warum Docker und Raspberry Pi so gut miteinander harmonieren?

Docker hat die Container-Virtualisierung zwar nicht neu erfunden, aber im Jahr 2013 für jeden zugänglich gemacht und das Prinzip erheblich vereinfacht. Früher waren Begriffe wie Containerisierung, um Anwendungen und Dienste in einer isolierten Umgebung ausführen zu können, höchstens ein Begriff für gestandene Systemadministratoren im Rechenzentrum.

Die Zeiten haben sich verändert. Heute verwenden immer mehr private Anwender sogenannte Homeserver oder NAS-Systeme für alle möglichen Server-Anwendungen. Mit den aktuellen Raspberry Pi Computern erhalten wir ein leistungsfähiges und energieeffizientes Mini-Server-System, welches sogar dazu imstande ist, ganze Virtualisierungsumgebungen [Tutorial für die Installation von Proxmox auf dem Pi] und Micro-Container-Infrastrukturen ins heimische Umfeld zu bringen.

Durch den geringen Einstiegspreis (sofern lieferbar) können wir für wenig Geld ganze Clusterumgebungen implementieren, um unsere Docker-Server hochverfügbar zu machen. Ich bin guter Hoffnung, dass die Installation bei euch erfolgreich durchlaufen ist und ihr sobald damit beginnen werdet, Container mit Anwendungen in eurem Netzwerk bereitzustellen.

Wir erhalten mit Docker auf dem Raspberry Pi sehr viele geniale Möglichkeiten, um innerhalb weniger Minuten einen Webserver aufzusetzen oder Serverdienste wie: Emby, Plex, Jellyfin, Smarthome und IoT-Dienste, sowie beliebte VPN-Software wie WireGuard oder OpenVPN zu implementieren.

1 Kommentar on “Docker auf dem Raspberry Pi: Installation einer Container-Plattform

  1. Hello,
    This command: docker run -d -p 8000:8000 -p 9443:9443 –name portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/ portainer-ce:latest
    Returns: docker: invalid reference format.
    What can be done ?
    Thank you.

Schreibe einen Kommentar

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