Artikel & Guides

Raspberry PI – Docker ohne Probleme installieren

letzte Änderung: 4. August 2022

Du hast sicher auch schon einmal etwas von „Docker“ gehört, oder suchst gerade danach. Denn ansonsten würdest du sicherlich hier nicht gelandet sein. In diesem Artikel nehme ich dich mit auf eine Reise in der ich dir zeige, wie ich auf meinem Raspberry Pi, Docker installiert habe. Ich begleite dich durch die gesamte Installation bis hin zur Einrichtung unseres ersten Containers.

ACHTUNG! Bitte lesen!
Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.
Aber dennoch… Backups sind immer gut….
Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze….

Raspberry Pi – Docker – Was brauchen wir?

Ganz klar! Wir brauchen einen Raspberry Pi! Und ja, Docker läuft auch auf einem Linux-System und die Installation ist dort gleich oder sehr ähnlich. Dennoch beschränke ich mich hier auf einen Raspberry Pi.
Und wir benötigen Docker – denn dies wollen wir ja nutzen 🙂

Docker Installation

Es gibt mehrere Wege um Docker auf seinem Raspberry Pi zu bekommen. Ich habe mich für ein Script und Download von get.docker.com entschieden.
Um das Script zu erhalten, genügt es folgenden Befehl auszuführen. Es wird dann das entsprechende Script in dem Ordner abgelegt indem du diesen Befehl gestartet hast:

curl -fsSL https://get.Docker.com -o get-Docker.sh && chmod +x get-Docker.sh

Der curl Befehl lädt das Script herunter und der chmod lässt es uns dann mit dem nächsten Befehl starten.

Nun führen wir dieses Script mit sudo-Rechten aus und die eigentliche Installation von Docker beginnt:

sudo ./get-Docker.sh

Geh dir einen Kaffee oder Wasser holen und warte das Ende der Installation ab. Dies kann ein wenig dauern.
In meinem Fall laufen die meisten Applikationen und Services unter dem User „pi“ – dieser soll auch Docker benutzen/verwalten dürfen. Daher trage ich ihn jetzt in die neue Gruppe „docker“ ein. Falls du einen anderen User dafür verwenden willst, dann musst du natürlich diesen angeben.

sudo usermod -aG docker pi

Prüfen können wir auch direkt ob der User in der Gruppe angelegt wurde:

cat /etc/group | grep docker

Du solltest jetzt in etwas sowas sehen: docker:x:995:pi
Allerdings würde dies erst bei einem Neustart die Wirkung zeigen. Wir können und werden jetzt aber lediglich die Gruppenrichtlinien neu einlesen:

newgrp docker

Natürlich wollen wir jetzt auch noch testen ob soweit alles funktioniert.
Was würde sich da besser anbieten als ein wunderschönes „Hello-World“ ?
Klar gibt es das auch als Container. Also los, trau dich:

docker run hello-world

Bei einem erfolgreichem Hello-World solltest du in etwa sowas sehen:

Raspberry Pi - Docker Installation

Hier ist natürlich nicht wirklich etwas passiert – aber es zeigt dir: Docker wurde erfolgreich auf deinem Raspberry Pi installiert!

Docker über Terminal oder gibt es auch eine GUI?

Deine Raspberry Pi Docker Installation ist jetzt abgeschlossen und du könntest anfangen Container zu integrieren. Dafür gibt es viele Befehle um diese über das Terminal nutzen zu können. Gib einfach mal docker --help ein und schaue sie dir an.

Allerdings wäre es doch toll, wenn man dieses über eine grafische Oberfläche nutzen könnte. Und, da unser Raspberry ja headless läuft, in einem Webbrowser aufrufbar wäre.

Schlaue Köpfe haben dafür natürlich auch etwas entwickelt und für uns bereitgestellt: Portainer

Portainer

Dieses wirklich hilfreiche und mächtige Tool wird uns als Container bereitgestellt.
Nach der Installation ermöglicht es uns, weitere Container über eine grafische Weboberfläche zu verwalten.

Weitere Informationen findest du bei portainer.io.

Installation von Portainer als Docker-Container

Als erstes benötigen wir einen Ort, in dem Portainer seine Daten ablegen kann. Denn bei einem Neustart eines Containers, sind immer alle Daten in diesem wieder weg bzw. nur die Standard-Werte vorhanden. Mit einem Volumen können wir einen festen Punkt definieren in dem die Daten existieren bleiben. Diesen richten wir mit folgendem Befehl ein:

docker volume create portainer_data

Jetzt werden wir den Portainer Server Container installieren.

Wir nehmen hier die Default-Werte von den Ports (8000 und 9443). Diese kannst du natürlich auch anpassen. Ein klein wenig Erklärung dazu. Möchtest du mehr über die Attribute wissen, bieten sich die Docker-DOCS an.

-d = führt die Installation im Hintergrund aus
-p = Portzuweisung (hier 8000 zu 8000 und 9443 zu 9443)
–restart = hier „always“ – Nach jedem Fehler oder Neustart des Raspberry Pi, wird der Container auch neu gestartet.
-v = hiermit verbinden wir die Sockets (docker.sock) Docker->Portainer und die Pfade zum Volume (portainer_data – welches wir weiter oben angelegt hatten)

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 Installation ist recht zügig abgeschlossen und du kannst jetzt prüfen ob in Docker der Container auch wirklich eingerichtet wurde:

docker ps
Raspberry Pi - Docker Container

Sieht in meinem Fall also schon einmal recht gut aus. Testen wir doch direkt ob wir auch auf die Web-GUI kommen:

https://IP-DEINES-RASPBERRYS:9443

Den Hinweis im Browser, dass die Seite vielleicht nicht sicher sei, ignorieren wir hier.
Danach solltest du auf dieser Seite landen:

Raspberry Pi - Docker Portainer

Du musst jetzt ein Passwort für den admin-User vergeben. Den Namen kannst du auch wechseln.
Allerdings solltest du dir dieses Passwort gut merken können oder notieren (jaja.. macht man nicht 😛 ) , denn ich habe nirgends eine Möglichkeit gefunden, dieses admin Passwort zurücksetzen zu können.
Du darfst mich gerne in den Kommentaren weiter unten korrigieren falls ich einfach nur zu doof war.

image 3
Musst du selbst wissen – ich mache dieses Datensammeln meistens aus 😉

Danach noch „Create User“ und du befindest dich im Admin-Bereich. Es sein denn…
du siehst so etwas:

Portainer

OOhhhhh.. was denn nu? Naja.. vermutlich hast du zu lange hier gelesen 😛
Das ist aber auch nicht weiter tragisch, einfach den Container nochmal neu starten und die Webseite erneut aufrufen sowie den User anlegen:

docker restart portainer

Jetzt wirst du aber endlich im Admin-Bereich der Portainer Web-Gui sein:

Raspberry Pi - Portainer Admin

Portainer Web-Gui

Wenn du dich zum ersten mal bei Portainer einloggst, werden dir die Punkte sicher nicht sehr viel sagen. Aber das macht auch nichts, klicke dich einfach durch und schaue dich um. Viel „kaputt“ machen kannst du hier nicht.
Ich werde jetzt auch nicht alle möglichen Menüpunkte mit dir durchgehen, dazu wird es vielleicht noch einen eigenen Artikel geben.

Aber schauen wir uns im Menü den Eintrag „Containers“ etwas genauer an:

Raspberry Pi - Portainer Container

Du siehst im mittleren Bereich jetzt zwei Container und deren Images (jeder Container benötigt ein Image, denn da „ist alles drin“ damit man überhaupt irgendwas nutzen kann).
Wenn du weiter oben das „Hello-World“ Beispiel ausgeführt hast, wirst du dieses auch hier in der Übersicht sehen.
Aktiv, bzw. im Status „running“ wird aber lediglich unser „Portainer“ sein. Wäre auch schlecht wenn nicht, denn dann wären wir gar nicht in dieser Übersicht 😉

Wie du siehst, war die Docker Installation gar nicht so schwierig und wir haben unseren ersten eigenen Container auch direkt ans laufen gebracht.

In einem anderen Artikel zeige ich dir dann noch, wie du über Portainer einen weiteren Container bereitstellen kannst – in diesem Fall wird es „Grafana“ sein.

Raspberry Pi Monitoring kostenlos – Grafana, InfluxDB mit Portainer und Docker installieren

Mit Grafana kannst du zum Beispiel deinen Raspberry Pi einfach über eine Web-GUI monitoren und wichtige Service / Werte überwachen. Das Ganze installieren wir als Container unter Docker und verwalten dies mit Portainer – einer Weboberfläche um Container einfacher verwalten zu können.

Feedback kannst du gerne hier abgeben 🙂
Fragen natürlich auch !


Du würdest auch gerne Feedback geben?
Mir mitteilen dass ich dir helfen konnte?
Einfach nur „Danke“ sagen?
Oder mir etwas mitteilen was nicht so toll war?
Du hast ein Problem oder nur eine Frage?
Na dann los!

Möchtest du diese Seite und mich sogar unterstützen?!

Du kannst mich z.B. auf Patreon besuchen und kleinere Pakete schnüren. Es gibt dann auch ein paar Vorzüge 🙂


Schreibe einen Kommentar