Kepi-IMP

Docker


Projekt im Rahmen des IMP-Profils am JKG Reutlingen


Sascha Vasylenko, Klasse 10d


Gliederung


  1. Was ist Docker?
  2. Docker > VM
  3. Installation (auf den Raspberry Pi)
    1. Docker
    2. portainer
    3. Weitere Container
  4. Fazit
  5. Dateien / Weiterführende Links



Was ist Docker?


Docker beschreibt sich selbst als "eine offene Plattform für die Entwicklung, die Verteilung und das Laufen von Anwendungen".

Docker ist eine kostenlose Plattform, die mithilfe von Virtualisierung das Laufen von (Server-)Anwendungen erleichtert.


Sowohl Docker als auch die Alternative Virtual Machines (VM) sind Programme, die die Virtualisierung ermöglichen. Die Virtualisierung ist wichtig dafür, dass man die verschiedenste Anwendungen überall laufen kann.

Daraus stellt sich die Frage: Was sind dann die Vor- und Nachteile beider Plattformen?




Docker > VM


Docker Aufbau VM Aufbau

links: Docker, rechts: VM


Bei VMs wird für jede einzelne Anwendung ein ganzes Betriebssystem (engl. operating system = OS) virtualisiert.

Docker hingegen erlaubt es, dass viele Anwendungen ein Betriebssytem teilen können. Die Anwendungen hier heißen "Container". Sie beinhalten das Programm, das man ausführen will, zusammen mit allen Abhängigkeiten, die das Programm benötigt.


Ein paar Vorteile von Docker im Vergleich zu VMs:


Natürlich kann Docker nicht perfekt sein.


Ein paar Nachteile von Docker im Vergleich zu VMs:




Installation (auf den Raspberry Pi)


Docker


Im Rahmen dieses Projektes installierte ich Docker auf einen Raspberry Pi, einen Einplatinencomputer. Anweisungen für Ihr System können Sie auf Dockers Webseite finden. Nach einer schnelle Suche auf den Internet fand ich folgende Befehle, die ich im Terminal ausführte:

  1. sudo apt update && upgrade -y
  2. sudo reboot
  3. curl -sSL https://get.docker.com | sh

Aus raspberrytips.com


Danach sieht es so aus:

Docker im Terminal

Docker läuft völlig im Terminal. Das ist nicht so übersichtig, deshalb holte ich mir meinen erster Container: portainer.



portainer


Portainer ist ein Container, der Docker eine grafische Benutzeroberfläche gibt. Portainer gibt eine Übersicht über Docker und heruntergeladene Container.


Um portainer zu holen, ging ich auf hub.docker.com, die größte Sammlung von Container in der Welt. Mit der Suchfunktion fand ich portainer und die Anleitung zur Installation.

Die Befehle, die ich ausführte, sind jetzt gelistet:

  1. docker volume create portainer_data
  2. 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

Danach öffnete ich mit https://localhost:9443/ die lokale Webseite von portainer, von wo ich dann Docker verwalten würde.

Weil man auf portainer mit einer Webseite zugreifen kann, kann man auch Docker von außerhalb kontrollieren. Deswegen muss man einen Benutzer erstellen und ein Passwort festlegen, sodass niemand außer Sie darauf zugreifen können.


Nach all diesen Aufwand sieht es so aus:

portainer im Browser

So ist es viel angenehmer mit Docker zu arbeiten.



Weitere Container


Nachdem man Docker (und portainer) installiert, kann man Docker frei benutzen. Es gibt viele Container, die man umsetzen kann.


Hier nenne ich ein paar Beispiele:




Fazit


Zum Schluss lässt sich sagen, dass Docker eine interessante Plattform ist. Wenn man eine Server-Anwendung hat, kann man es leicht mit Docker zum Start bringen, auch wenn man es nur austesten will. Weil Docker so leistungsfähig und überall unterstützt ist, muss man keine Angst haben, dass es nicht auf seinen Computer läuft.


Dateien / Weiterführende Links