Docker auf dem Raspberry PI installieren

Docker ist eine Betriebsystemvirtualisierung mit der Programme in Containern isoliert werden können. Damit ist es z.B. möglich mehrere Versionen eines Programms gleichzeitig laufen zu haben, ohne dass sich die Abhängigkeiten von Bibliotheken in die Quere kommen. Auch ist es möglich Dienste auf mehreren Servern für die Lastverteilung laufen zu lassen. Benötigte Pakete installieren Folgende Pakete […]

Docker ist eine Betriebsystemvirtualisierung mit der Programme in Containern isoliert werden können. Damit ist es z.B. möglich mehrere Versionen eines Programms gleichzeitig laufen zu haben, ohne dass sich die Abhängigkeiten von Bibliotheken in die Quere kommen. Auch ist es möglich Dienste auf mehreren Servern für die Lastverteilung laufen zu lassen.

Benötigte Pakete installieren

Folgende Pakete werden für die Installation von Docker benötigt.

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

Paketquelle hinzufügen

Da sich die aktuelle Version von Docker für den Raspberry PI nicht im Repository von Raspbian verfügbar ist, muss das Repository von Docker hinzugefügt werden.

echo "deb [arch=armhf] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
deb [arch=armhf] https://download.docker.com/linux/debian jessie stable

GPG-Schlüssel hinzufügen

Damit die Pakete aus dem Repository von Docker geprüft werden können muss noch der GPG-Key von Docker hinzugefügt werden.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0EBFCD88
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.GxywGQP9oU --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 0EBFCD88
gpg: fordere Schlüssel 0EBFCD88 von hkp-Server keyserver.ubuntu.com an
gpg: Schlüssel 0EBFCD88: Öffentlicher Schlüssel "Docker Release (CE deb) " importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:                              importiert: 1  (RSA: 1)

Paketquellen aktualisieren

Damit die neuen Pakete per apt gesucht und installiert werden können, müssen die neuen Paketinformationen geladen werden.

sudo apt update

Docker installieren

sudo apt install docker-ce
Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut....
Statusinformationen werden eingelesen....
Die folgenden zusätzlichen Pakete werden installiert:
  aufs-tools cgroupfs-mount git git-man libapparmor1 liberror-perl libltdl7
  rsync
Vorgeschlagene Pakete:
  git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk
  gitweb git-arch git-cvs git-mediawiki git-svn
Die folgenden NEUEN Pakete werden installiert:
  aufs-tools cgroupfs-mount docker-ce git git-man libapparmor1 liberror-perl
  libltdl7 rsync
0 aktualisiert, 9 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.
Es müssen 21,1 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 99,6 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
…

Installation testen

Hier starten wir das Image hypriot/armhf-hello-world um zu testen, ob Docker korrekt funktioniert.

Da viele Docker-Images für Prozessoren für x86 mit 32 bit oder 64 bit erstellt wurden, muss beim Download von neuen Images darauf geachtet werden, dass diese auch mit dem im Raspberry PI verwendeten ARM-Prozessor kompatibel sind. In folgenden Image ist dies durch „armhf“ im Namen gekennzeichnet. Leider stellt Docker erst beim starten des Containers fest, ob die darin enthaltenen Programme mit der verwendeten CPU kompatibel sind.

sudo docker run hypriot/armhf-hello-world
Unable to find image 'hypriot/armhf-hello-world:latest' locally
latest: Pulling from hypriot/armhf-hello-world
4b84770bb49c: Pull complete 
a3ed95caeb02: Pull complete 
Digest: sha256:b618ec0cc3acf683e8d77ad6c5ec81546cddde2036eda9a78f628effdeca74cd
Status: Downloaded newer image for hypriot/armhf-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.
 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 Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Benutzer in die Gruppe „docker“ hinzufügen

Da auch andere Benutzer als root Docker steuern können sollen, muss der jeweilige Benutzer in die Gruppe docker hinzugefügt werden. Sollte dieser Benutzer am System angemeldet sein, so muss sich dieser neu anmelden, damit diese die Rechte wirksam werden.

sudo usermod -a -G docker blar

Benutzer testen

Jetzt starten wir noch einmal das Image hypriot/armhf-hello-world um zu testen, ob der hinzugefügte Benutzer Docker ohne sudo verwenden darf.

docker run hypriot/armhf-hello-world
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.
 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 Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Eine Antwort auf „Docker auf dem Raspberry PI installieren“

  1. […] werden können, soll jetzt PHP installiert werden, damit auch Scripts möglich sind. Im Artikel Docker auf dem Raspberry PI installieren wurde dafür Docker eingerichtet, das in dieser Anleitung für die Einrichtung von PHP verwendet […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.