Docker auf dem Raspberry Pi?  Das sind die Vorteile von Containertechnologie auf dem Einplatinencomputer

Als Video ansehen
Bereitgestellt über YouTube

Docker auf dem Raspberry Pi? Das sind die Vorteile von Containertechnologie auf dem Einplatinencomputer

Containertechnologie, hauptsächlich auf Basis von Docker und Kubernetes gewinnen im Server- und Entwicklerbereich immer mehr an Bedeutung. Auch auf dem Raspberry Pi kann man mit Containern arbeiten. Doch macht das auf derart kleinen Systemen Sinn? Wir schauen uns die Vorteil aus Sicht des Pi an, statt für x86 Serverhardware.

Ausgangslage: Raspberry Pi vs x86 (Server-)Hardware

Oft werden Container mit Virtuellen Maschinen verglichen: Leichtgewichtiger, Effizienter und flexibler. Der komplette Overhead durch das Betriebssystem, was man ansonsten in jeder VM hat, fällt weg. Außerdem spielt die Distribution und Version des Betriebssystems keine Rolle mehr, da alle Abhängigkeiten für jedes Image separat festgelegt werden. Andere Images beeinflusst dies nicht.

Beim Raspberry Pi ist die Ausgangslage dagegen eine andere: Virtualisierung ist aufgrund der Leistung lange Zeit nicht sinnvoll möglich gewesen, sodass hier traditionell alle Anwendungen direkt installiert werden – also sozusagen bare metal. Erst mit Modell 4 haben wir eine 8GB RAM Version, sodass man über den Betrieb von VMs wirklich nachdenken kann. Wobei auch hier keine Wunder zu erwarten sind.

Was sind die Vorteile von (Docker) Containern auf dem Raspberry Pi?

Alle Vorteile die sich im Vergleich von VMs zu Containern ergeben, fallen dadurch also weg. Was jedoch bleibt ist die saubere und effiziente Isolierung von Anwendungen. Das ist auch für den Raspberry interessant: Denn die Pis sind deutlich leistungsstarker geworden, vor allem ab dem Pi4. Dadurch können mehrere Anwendungen installiert werden: Neben einer Nextcloud möchte man vielleicht noch einen PiHole laufen lassen, der ohnehin kaum Ressourcen benötigt. Und wenn das Gerät sowieso schon 24/7 läuft, warum nicht auch gleich den WordPress-Blog? Let’s Encrypt wäre auch praktisch, schließlich sollten beide Seiten auch über ein HTTPS-Zertifikat verfügen.

Schnell laufen auf dem Pi mehrere Anwendungen, die im besten Falle auch noch möglichst isoliert voneinander sein sollten. Und da haben wir ähnliche Probleme, wie wenn wir das alles auf einem einzelnen Server installieren: Abhängigkeiten wie Bibliotheken, die möglicherweise nicht von allen Anwendungen in der gleichen Version genutzt werden. Eventuell haben wir sogar bewusst verschiedene Versionen – etwa für mehrere PHP Seiten.

Und genau hier kann uns Docker auch auf dem Pi helfen: Die einzelnen Prozesse lassen sich mit Containern voneinander gut isolieren – ohne nennenswerte Leistungseinbußen, was ja gerade auf einem Pi fatal wäre.

Aktualisierungen einzelner Programme sind dadurch ebenfalls unproblematisch: Einen bestimmten Stand können wir wiederherstellen, in dem einfach das jeweilige Image genutzt wird – Und das ohne dabei Abhängigkeiten zu zerschießen, die vielleicht noch nicht mit einer anderen Version klar kommen. Es entsteht also eine Entkopplung, bei der wir einige Vorteile von VMs nutzen können, ohne die Nachteile von klassischer Virtualisierung.

Sollte ich Docker auf dem Pi nutzen?

Die Frage hängt vom Anwendungszweck ab. Tendenziell würde ich sagen: Wenn nur wenige, kleine Anwendungen dort laufen, muss es nicht zwingend sein. Beispielsweise erste Gehversuche mit den GPIO-Pins. Gerade absolute Anfänger wird es erschlagen, wenn sie direkt mit Docker beginnen. Denn auch wenn das Vorteile bringt, erhöht es auf der anderen Seite eben auch die Komplexität.

Wer mehrere Anwendungen auf dem Pi betreiben will, dem empfehle ich, sich das Thema mittel- bis langfristig anzuschauen. Vor allem dann, wenn bereits mehr Erfahrung mit Linux und dem Pi vorhanden ist.

Leave a Reply