Docker auf dem Raspberry Pi mit HypriotOS

© Pixelery, 123RF

Gut verpackt

Das Virtualisieren von Ressourcen trauen die meisten nur "ausgewachsenen" Computern zu. Dass sich auch der Raspberry Pi zur Virtualisierung eignet, zeigt HypriotOS.

Viele komplexe Linux-Applikationen, wie etwa Web- oder Cloud-Server, muss man umständlich und zeitraubend mit zahlreichen abhängigen Paketen manuell installieren und konfigurieren. Einsteiger werfen da schnell das Handtuch. Mit HypriotOS und dem darin integrierten Docker (siehe Kasten "Was ist Docker?") bekommen Sie eine quasi schlüsselfertige Lösung, die Ihnen eine Menge Zeit und Arbeit erspart.

Das aus dem oberfränkischen Bamberg stammende HypriotOS bringt als erstes Betriebssystem für den Raspberry Pi Docker auf die ARM-Architektur. Das auf Debian basierende Containersystem wird seit 2014 entwickelt und legt den Fokus auf Sicherheitsaspekte sowie ein möglichst kompaktes Erscheinungsbild. HypriotOS bringt von Haus aus bereits alle wichtigen Docker-Werkzeuge mit.

Die ressourcenschonende Konzeption des Betriebssystems gestattet es, auch auf schwächeren ARM-Rechnern bis zu mehrere Hundert Docker-Instanzen simultan zu betreiben. Das macht den Raspberry Pi als Docker-Plattform im Markt der Embedded Systems und des Internet of Things (IoT) hochinteressant.

Was ist Docker?

Docker stellt eine im Vergleich zu dedizierten virtuellen Maschinen vereinfachte Virtualisierungslösung dar: In Containern, die eine Laufzeitumgebung für ein virtualisiertes Betriebssystem darstellen, laufen vom Rest des Systems isolierte Applikationen. Die Container verhalten sich dabei wie normale Dateien und lassen sich problemlos portieren. Die auf Linux zugeschnittene Virtualisierung nutzt verschiedene Technologien des Kernels. Die Container arbeiten voneinander unabhängig, beeinflussen sich nicht und lassen sich auch einzeln aktualisieren.

Insbesondere beim Ausrollen von Software, aber auch beim Verwenden mehrerer Cloud-Plattformen punktet Docker mit erheblichen Vorteilen: Aufgrund des kompakten Designs schleppen die Docker-Container nicht wie herkömmliche virtuelle Maschinen eine komplette Betriebssystemumgebung und den damit gegebenen Ressourcen-Overhead mit sich herum, sondern integrieren lediglich die zwingend benötigten Abhängigkeiten. Alle anderen Ressourcen stellt der Linux-Kernel des Hosts bereit. Docker-Container erhalten auf diesem Weg die benötigten Ressourcen jeweils isoliert zugeteilt, sodass auch Schadprogramme kaum eine Möglichkeit haben, sich über Containergrenzen hinweg zu verbreiten.

Setup

Sie erhalten HypriotOS als rund 230 MByte großes ZIP-File auf der Projektseite der Entwickler [1]. Das heruntergeladene Archiv entpacken Sie zunächst, dann kopieren Sie die resultierende, etwa 1 GByte große Image-Datei auf eine Micro-SD-Karte (Listing 1), die dabei nicht im System eingehängt sein darf.

Listing 1

 

$ dd if=hypriotos-rpi-v1.5.0.img of=/dev/mmcblk0 bs=1M conv=fsync

Anschließend stecken Sie die SD-Card in einen mit dem Netzwerk verbundenen Raspberry Pi und starten diesen. Beim ersten Hochfahren passt das Setup zunächst das Dateisystem auf der Karte an, was etwas dauert. Das Betriebssystem startet bis zum Login-Prompt und stellt nach Zuteilung einer IP-Adresse durch den Router automatisch die LAN-Verbindung her. Sie ermitteln danach die IP-Adresse des Systems, indem Sie auf einem anderen Rechner im Intranet einen Scan starten. Dazu eignen sich Tools wie der Angry-IP-Scanner. Der Raspberry Pi erscheint dabei mit dem Hostnamen black-pearl.local und der dazugehörigen IP-Adresse (Abbildung 1).

Abbildung 1: Um die IP-Adresse von HypriotOS in Erfahrung zu bringen, nutzen Sie Tools wie den Angry-IP-Scanner von einem anderen Rechner im Netz aus.

Auf dem HypriotOS-System arbeitet bereits ein SSH-Server, sodass Sie sich von jeder Arbeitsstation in demselben Netz aus auf dem Raspberry Pi anmelden können. Dazu geben Sie im Terminal den Befehl ssh pirate@RasPi-IP ein. Das vorgegebene Passwort lautet hypriot. Nach dem Anmelden zeigt der Befehl docker info den Status des Docker-Diensts an, wobei die Software eine lange Statusliste im Terminal ausgibt (Abbildung 2). Nun lassen sich variable Docker-Container auf das System transferieren, um damit zu arbeiten.

Abbildung 2: Läuft Docker, zeigt der Befehl docker info ausführliche Informationen dazu.

Server in a Box

Webserver gehören traditionell zu jenen Applikationen, die Sie auf herkömmlichen Maschinen zunächst aufwendig installieren und konfigurieren müssen. Unter HypriotOS reduzieren sich diese Prozeduren auf wenige Terminaleingaben. So genügt die Eingabe eines kurzen Kommandos, um ein entsprechendes Image aus dem Internet herunterzuladen und zu starten:

$ docker run -d -p 80:80 hypriot/rpi-busybox-httpd

Mit dem Befehl docker ps lassen Sie sich dann den aktiven Container anzeigen, im vorliegenden Beispiel den Webserver mit seiner Container-ID, dem heruntergeladenen Image sowie einigen weiteren Statusdaten (Abbildung 3). Ein Aufruf der IP-Adresse des HypriotOS-Systems im Webbrowser eines PCs öffnet die Startseite des Docker-Webservers.

Abbildung 3: Es genügt ein Aufruf (oben), um das gewünschte Docker-Image in Betrieb zu nehmen. docker ps (unten) zeigt den aktuellen Container-Status an.

Die Entwickler von HypriotOS stellen auf ihren Webseiten mehrere Beispiele für die Einsatzmöglichkeiten des Systems vor [2]. Dazu gehören unter anderem auch On-premise-Cloud-Server, aber auch Blog-Plattformen wie etwa Wordpress. Hier gilt es aber zu beachten, dass sich nicht jedes verfügbare Docker-Image für den Betrieb auf dem RasPi eignet: Weil dessen Hardware-Architektur auf ARM basiert, starten nur dafür konzipierte Container, nicht aber solche für andere Architekturen.

Auf Docker basierende Applikationen erhalten Sie auf den Seiten des Docker Hub [3]. Hier finden Sie auch ein eigenes Repository in Tabellenform speziell für HypriotOS [4], das ständig erweitert wird. Auch andere Docker-Sammlungen bieten Images für den Raspberry Pi an. Diese erkennen Sie an Kürzeln wie rpi oder arm im Image-Namen.

Zu jedem Docker-Image gehört eine kleine Anleitung für die Installation und den Einsatz. Sie öffnen sie durch einen Klick auf den Button Details rechts neben dem jeweiligen Applikationsnamen. Die angezeigten Befehlszeilenargumente für die Installation des Images können Sie dabei durch Kopieren und Einfügen direkt übernehmen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Heft-DVD 11-12/2017

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Docker einsetzen auf dem Raspberry Pi

    Packen Sie wichtige Anwendungen einfach in einen Container, den Sie komfortabel mit Docker verwalten.

  • Zwei Ubuntu-Betriebssysteme auf dem Raspberry Pi 2

    Canonical zögerte lange mit einem Image für den Raspberry Pi. Mit der zweiten Pi-Generation ändert sich dies: Gleich zwei Ubuntu-Systeme sind auf die Himbeere gekommen – eins für den Desktop und eins für die Cloud.

Aktuelle Ausgabe

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.