Docker auf einem Raspberry PI

Docker auf einem Raspberry PI! Über die Vorteile (oder auch die Nachteile) brauche ich mich hier nicht auszulassen.

Ich bin jedenfalls dabei alles was ich für sinnvoll halte in Docker-Container zu verlagern. So bin ich im höchsten Maß flexibel wie ich meine Raspberry PI's einsetze.

Auf einem läuft z.B. mein Tommatic in einem Container und der Zigbee Controller deCONZ in einem weiteren Container.

Installiert ist das Ganze mit nur "einem" Befehl.

Die Veröffentlichung dieses Howtos erfolgt in der Hoffnung, dass es dem Ein oder Anderen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.

Installation

Die Installation gestaltet sich einfach, da einfach ein Installationsskript heruntergeladen und ausgeführt wird.

Dies kann auch in einzelnen Schritten geschehen, so kann überprüft werden was so alles im Skript "get-docker.sh" angestellt wird.

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Wenn Docker als non-root Benutzer verwendet werden soll, sollte der Benutzer <Eigener Benutzer> zur Gruppe "docker" hinzugefügt werden.

sudo usermod -aG docker <Eigener Benutzer>

Ab- und wieder anmelden nicht vergessen!

WARNUNG: Wenn der "Docker" -Gruppe einen Benutzer hinzugefügt wurde kann dieser auch Container mit darin enthaltenen Root-Berechtigungen ausführen!

Testen der Installation

Die Installation kann wie folgt getestet werden:

docker run hello-world

Im Erfolgsfall führt das zu folgender Ausgabe:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4ee5c797bcd7: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm32v7)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Die Zeilen 1 bis 5 zeigen nicht etwa ein Problem auf, sonder zeigen einfach an, dass es lokal kein Image mit dem Namen "hello-world" gibt.

Aus diesem Grund wird es einfach vom Docker-Hub geholt und anschließend ausgeführt.

Ab der Zeile 7 erfolgt die Ausgabe aus dem Container "hello-world".