{"id":7337,"date":"2021-08-13T01:48:54","date_gmt":"2021-08-12T23:48:54","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=7337"},"modified":"2022-12-12T18:38:35","modified_gmt":"2022-12-12T16:38:35","slug":"docker-auf-dem-raspberry-pi-das-sind-die-vorteile-von-containertechnologie-auf-dem-einplatinencomputer","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/docker-auf-dem-raspberry-pi-das-sind-die-vorteile-von-containertechnologie-auf-dem-einplatinencomputer\/","title":{"rendered":"Docker auf dem Raspberry Pi?  Das sind die Vorteile von Containertechnologie auf dem Einplatinencomputer"},"content":{"rendered":"<p>Containertechnologie, haupts\u00e4chlich 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\u00fcr x86 Serverhardware.<\/p>\n<h2 class=\"wp-block-heading\">Ausgangslage: Raspberry Pi vs x86 (Server-)Hardware<\/h2>\n<p>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\u00e4llt weg. Au\u00dferdem spielt die Distribution und Version des Betriebssystems keine Rolle mehr, da alle Abh\u00e4ngigkeiten f\u00fcr jedes Image separat festgelegt werden. Andere Images beeinflusst dies nicht.<\/p>\n<p>Beim Raspberry Pi ist die Ausgangslage dagegen eine andere: Virtualisierung ist aufgrund der Leistung lange Zeit nicht sinnvoll m\u00f6glich gewesen, sodass hier traditionell alle Anwendungen direkt installiert werden &#8211; also sozusagen bare metal. Erst mit Modell 4 haben wir eine 8GB RAM Version, sodass man \u00fcber den Betrieb von VMs wirklich nachdenken kann. Wobei auch hier keine Wunder zu erwarten sind.<\/p>\n<h2 class=\"wp-block-heading\">Was sind die Vorteile von (Docker) Containern auf dem Raspberry Pi?<\/h2>\n<p>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\u00fcr den Raspberry interessant: Denn die Pis sind deutlich leistungsstarker geworden, vor allem ab dem Pi4. Dadurch k\u00f6nnen mehrere Anwendungen installiert werden: Neben einer Nextcloud m\u00f6chte man vielleicht noch einen PiHole laufen lassen, der ohnehin kaum Ressourcen ben\u00f6tigt. Und wenn das Ger\u00e4t sowieso schon 24\/7 l\u00e4uft, warum nicht auch gleich den WordPress-Blog? Let&#8217;s Encrypt w\u00e4re auch praktisch, schlie\u00dflich sollten beide Seiten auch \u00fcber ein HTTPS-Zertifikat verf\u00fcgen. <\/p>\n<p>Schnell laufen auf dem Pi mehrere Anwendungen, die im besten Falle auch noch m\u00f6glichst isoliert voneinander sein sollten. Und da haben wir \u00e4hnliche Probleme, wie wenn wir das alles auf einem einzelnen Server installieren: Abh\u00e4ngigkeiten wie Bibliotheken, die m\u00f6glicherweise nicht von allen Anwendungen in der gleichen Version genutzt werden. Eventuell haben wir sogar bewusst verschiedene Versionen &#8211; etwa f\u00fcr mehrere PHP Seiten.<\/p>\n<p>Und genau hier kann uns Docker auch auf dem Pi helfen: Die einzelnen Prozesse lassen sich mit Containern voneinander gut isolieren &#8211; ohne nennenswerte Leistungseinbu\u00dfen, was ja gerade auf einem Pi fatal w\u00e4re.<\/p>\n<p>Aktualisierungen einzelner Programme sind dadurch ebenfalls unproblematisch: Einen bestimmten Stand k\u00f6nnen wir wiederherstellen, in dem einfach das jeweilige Image genutzt wird &#8211; Und das ohne dabei Abh\u00e4ngigkeiten zu zerschie\u00dfen, die vielleicht noch nicht mit einer anderen Version klar kommen. Es entsteht also eine Entkopplung, bei der wir einige Vorteile von VMs nutzen k\u00f6nnen, ohne die Nachteile von klassischer Virtualisierung.<\/p>\n<h2 class=\"wp-block-heading\">Sollte ich Docker auf dem Pi nutzen?<\/h2>\n<p>Die Frage h\u00e4ngt vom Anwendungszweck ab. Tendenziell w\u00fcrde ich sagen: Wenn nur wenige, kleine Anwendungen dort laufen, muss es nicht zwingend sein. Beispielsweise erste Gehversuche mit den GPIO-Pins. Gerade absolute Anf\u00e4nger wird es erschlagen, wenn sie direkt mit Docker beginnen. Denn auch wenn das Vorteile bringt, erh\u00f6ht es auf der anderen Seite eben auch die Komplexit\u00e4t.<\/p>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Containertechnologie, haupts\u00e4chlich 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\u00fcr x86 Serverhardware. Ausgangslage: Raspberry Pi vs x86 (Server-)Hardware &#8230;<\/p>\n","protected":false},"author":5,"featured_media":7342,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[671],"tags":[912,497],"class_list":["post-7337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi","tag-container","tag-docker"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=7337"}],"version-history":[{"count":4,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7337\/revisions"}],"predecessor-version":[{"id":9845,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7337\/revisions\/9845"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/7342"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=7337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=7337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=7337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}