Docker auf dem Raspberry Pi: Wie funktioniert das?
Der Mini-Rechner Raspberry Pi ist nicht nur für Spielereien gut oder um Kindern den Umgang mit Hardware und Programmierung näherzubringen. Inzwischen erstellen Nutzer mit dem Raspberry Pi Webserver oder richten mit ownCloud auf dem Raspberry Pi einen Cloudserver ein. Auch die Kombination von Raspberry Pi und Nextcloud ist möglich. Manche Anwender haben sogar bereits eigene Raspberry-Pi-Mailserver aufgebaut.
Auch Entwickler haben den Einplatinencomputer für sich entdeckt. Web- und Software-Entwickler nutzen den Mini-Computer ohnehin schon längst, um beispielsweise mit dem Internet of Things zu arbeiten. Warum also nicht die Vorteile von Docker auch auf dem Raspberry Pi nutzen?
Welche Schwierigkeiten gibt es bei der Verbindung von Raspberry Pi und Docker?
Die meisten Raspberry Pis laufen mit dem offiziellen Betriebssystem Raspberry Pi OS. Dabei handelt es sich um eine Abwandlung der Linux-Distribution Debian. Da Docker in vielen Szenarien auf einer Linux-Maschine aufgesetzt wird und man damit schon gute Erfahrungen hat, sollte dies also eigentlich kein Problem sein. Doch der Unterschied in der Hardware kann durchaus zu Problemen führen, denn der Pi ist nicht einfach nur eine abgespeckte Variante eines PCs, sondern verwendet auch eine andere Prozessorarchitektur.
Das Betriebssystem Raspberry Pi OS war früher unter dem Namen Raspbian bekannt.
Docker geht eigentlich von einem x64-System aus, wie man es bei den meisten modernen Computern kennt. Der Raspberry Pi verwendet allerdings die ARM-Technologie. Das bedeutet, dass normale Docker-Images nicht kompatibel mit der Instanz auf dem Pi sind. Inzwischen findet man aber auch für den Raspberry Pi mehr und mehr fertige Container. Wichtig hierbei ist, dass man nur fertige Container aus vertrauenswürdigen Quellen herunterlädt, denn ansonsten geht man große Sicherheitsrisiken ein. Auch wenn die Auswahl bisher begrenzt ist (und im Vergleich zu Docker auf anderen Systemen wohl auch bleibt), kann man das Container-System dennoch vollumfänglich nutzen, indem man eigene Container entwickelt.
Vorteile von Docker auf dem Raspberry Pi
Wenn man sich etwas mit Computer-Hardware und Linux auskennt, ist auch ein Raspberry Pi nicht schwer zu bedienen. Deshalb werden die kleinen PCs auch für Experimente eingesetzt. Den gleichen Zweck verfolgt auch Docker. Die Container sind in sich geschlossen und können somit keinen größeren Schaden am eigentlichen System anstellen.
Da ein Raspberry Pi vergleichsweise günstig in der Anschaffung und im Betrieb ist, eigenen sich die Mini-Computer auch zum Aufbau eines Dockers-Schwarms. Statt eine Server-Struktur aufzubauen, schafft man sich Raspberry Pis an und verbindet alle miteinander. Dann führt jedes Gerät einen eigenen Container aus. Mit Swarm und Compose lassen sich die Container dann orchestrieren.
Kleine Einplatinencomputer wie der Raspberry Pi werden aufgrund ihrer geringen Größe und der minimalen Kosten immer häufiger im Kontext des Internet of Things eingesetzt. Durch die Kombination von Docker und Raspberry Pi kann man es dann sogar schaffen, die Container-Technologie auf einem Gerät laufen zu lassen, das man nicht in erster Linie als Computer erkennen würde.
Docker unter Raspberry Pi OS installieren
Docker lässt sich im besten Fall einfach unter dem Betriebssystem von Raspberry Pi installieren. Das Docker-Team hat dafür ein eigenes Installationsskript bereitgestellt. Im ersten Schritt müssen Sie das Skript herunterladen und ausführen. Das funktioniert per curl-Command.
curl -fsSL https://get.docker.com | sh
Um wirklich sicherzugehen, dass die Installation auch geklappt hat, kann man das Hello-World-Image ausprobieren.
docker run armhf/hello-world
Wenn alles geklappt hat, müsste Docker das Image aus dem Internet ziehen und dann ausführen. Sie sollten eine Nachricht der Entwickler angezeigt bekommen. Es handelt sich hierbei nicht um das normale Hello-World-Image, das man auf anderen Systemen laufen lassen würde. Das gemeinte Image wurde speziell für ARM-Prozessoren (und damit auch für den Raspberry Pi) erstellt.
Docker-Container werden sowohl von offiziellen Entwicklern als auch von der Community bereitgestellt. Um kein Sicherheitsrisiko einzugehen, sollten Sie nur solche Container verwenden, die aktiv gepflegt und bereits von vielen Benutzern verwendet werden. Im DockerHub findet man auch Container, die speziell für Raspberry Pi zusammengestellt wurden. Das Repository bietet zusätzlich die Option, sich nur „Official Images“ oder Container von „Verified Publishers“ anzeigen zu lassen.
Hypriot OS: Die All-in-one-Lösung
Ein kleines Team aus Entwicklern hat für alle, die ein besseres Erlebnis mit dem Raspberry Pi und Docker haben wollen, ein spezielles Betriebssystem entwickelt: Hypriot OS ist speziell für den Container-Einsatz vorkonfiguriert. Das Betriebssystem basiert auf Debian, ist aber so minimal gehalten, dass es sowohl für den Raspberry Pi als auch für Docker perfekt geeignet ist. Auch der Kernel ist speziell für diesen Einsatzzweck optimiert. Durch den leichtgewichtigen Aufbau des Systems ist es auch auf eher leistungsschwächeren Systemen möglich, mehrere Container nebeneinander zu betreiben.
Man installiert Hypriot OS wie andere Betriebssysteme für den Raspberry Pi auch: Zuerst bereitet man auf einem anderen Computer eine SD-Karte mit dem Image von Hypriot vor. (Das Betriebssystem lässt sich kostenlos auf der Homepage oder über GitHub herunterladen.) Die Speicherkarte wird anschließend in den Raspberry Pi gesteckt. Beim Starten lädt der Computer dann von der Karte und läuft dann mit Hypriot. Über eine SSH-Verbindung kann man im Anschluss von seinem eigentlichen Computer auf den Raspberry Pi zugreifen und Docker auf dem Raspberry Pi verwenden.
Unabhängig davon, wie Sie Docker auf den Raspberry Pi bringen, im Anschluss müssen Sie mit der Container-Software auch arbeiten. In unserem Docker-Tutorial lernen Sie die ersten Schritte und viele wichtigen Informationen rund um Docker.