Docker

Docker Logo
Docker Logo (Wikipedia/dotCloud Inc. Apache Licence 2.0)

Docker ist eine Software, die den seit einiger Zeit in Schwung gekommenen Trend zur Virtualisierung von Computersystemen auch auf dem Raspberry Pi möglich macht.

Virtualisierung

Die Virtualisierung eines Computers erlaubt es, einen physischen Computer (deinen Raspi) in mehrere virtuelle, software emulierte Rechner zu unterteilen. Vor 25 Jahren war so etwas nur millionenteuren Grossrechnern vorbehalten. Inzwischen ist dies auch auf dem Raspberry Pi möglich.
Docker ist eine Software, die dies möglich macht und es uns erlaubt, unter Raspberry Pi OS, Software zu starten, die bspw. Ubuntu als Betriebsystem benutzen, ohne an unserer Installation viel ändern zu müssen.

Docker installieren

sudo apt-get update
sudo apt-get install docker.io docker-compose

Container und Images

Containerschiff CC-BY BAW_Bundesanstalt für Wasserbau
/ Flickr
Containerschiff CC-BY BAW_Bundesanstalt für Wasserbau
/ Flickr

Ein Image enthält eine Software mitsamt aller notwendigen Resourcen, um sie lauffähig zu machen. Dazu gehört auch das notwendige Betriebsystem. Du kannst dir das ähnlich dem Image vorstellen, das du auf deine MicroSD Karte geflashed hast. Für viele Softwareprodukte findest du vorgefertigte Images in der Registry von docker.com, dem dockerhub

In einem Container wird ein Image ausgeführt.Mehrere Container können auf einem Raspi nebeneinander, voneinander entkoppelt ausgeführt werden.
Container sind flüchtig, d.h. im Container gespeicherte Daten gehen verloren, sofern man das Volume nicht nach aussen bekannt gemacht hat.

Registry

Eine Registry ist ein Server im Netz, auf dem viele vorgefertigte Images abrufbar sind. Defaultmässig wird hub.docker.com benutzt.

Einen Container starten

Ein einfacher Container, den du zuerst mal starten solltest, basiert auf dem hello-world Image, er tut nicht mehr, als das Image herunterzuladen und eine Wilkommensnachricht auszugeben.

docker run hello-world

Der docker-client wird bei diesem Kommando das Image hello-world von der Registry herunterladen (pull) und ausführen (start)

Ausgabe des docker hello-world Container
Olli Graf - raspithek.de
docker-hello-worldCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Ausgabe des hello-world Container

Abgesehen von dem freundlichen Hallo zeigt dir der Container, dass

  • Der dockerClient den DockerDaemon ansprechen konnte
  • das hello-world Image erfolgreich von der Registry gepulled wurde.
  • Ein neuer Container für dieses Image angelegt wurde, um es ausführen.
  • Der Ausgabetext an den docker-client übertragen wurde, um ihn anzuzeigen.

Wenn du das siehst, ist das Docker-System einsatzbereit.

Container sind flüchtig, d.h. nach dem Durchlauf des Programms sind alle Daten im Container wieder weg. Wenn du Daten dauerhaft behalten möchtest, musst du ein Volume ins Dateisystem deines Raspberry Pi mappen.

Fazit

Mit Docker lassen sich verschiedene Anwendungen, die mitunter unterschiedliche Betriebssystemversionen benötigen, sauber nebeneinander auf einem Raspberry Pi betreiben.
Wie du es praktisch verwenden kannst, zeige ich dir im Projekt Homeserver

Liste der laufenden Container
Olli Graf - raspithek.de
docker-psCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . loading=
Liste der laufenden Container

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner