Was ist Docker und wozu benötigt man es?

Was ist eigentlich Docker und wozu kann dies verwendet werden?

Diese dreiteilige Serie beinhaltet die wesentlichen Grundzüge von Docker. Dabei werden folgende Teile behandelt.

  1. Was ist Docker
  2. Grundlegende Docker Befehle
  3. Mit Docker ein Windows PowerShell Terminal bereitstellen
  4. Praktische Anwendung mit Docker (WordPress)

Grundlagen zu Docker

Docker ist grundsätzlich dann wichtig, wenn man Anwendungen entwickelt. In der Regel kann es sein, dass Anwendungen auf verschiedenen Arbeitsumgebungen mit unterschiedlicher Hardware entwickelt werden.

Um eine einheitliche Umgebung zu erhalten, eignet sich Docker. Docker ist dabei ein Tool, welches die Entwicklung, Verteilung und Ausführung von Anwendungen durch die Nutzung einer Containertechnologie ermöglicht.

Eine einzelne Applikation kann dabei grundsätzlich mit allen Bestandteilen, die diese benötigt, zusammengeschlossen werden. Zu den Bestandteilen gehören hierzu u. a. Bibliotheken, Datenbanken sowie Konfigurationsdateien und Treiber.

Docker ist allerdings nicht dafür gedacht, um Client-Anwendungen wie z. B. Word, Excel etc. auszuführen. Hierfür sollte jeher eine virtuelle Maschine unter Hyper-V oder VMWare verwendet werden. Wenn man von Docker spricht, so fallen damit auch automatisch die Begriffe wie Image und Container.

Was ist ein Container

Ein Container vereint in sich die Software und die dafür benötigten Komponenten wie z. B. Tools, Konfigurationsdateien und Bibliotheken. Deswegen laufen die Applikationen schnell und zuverlässig auf verschiedenen Umgebungen.

Die Container sind auch voneinander entkoppelt und voneinander unabhängig. Gerade durch diese Entkopplung können die Unverträglichkeiten von Bibliotheken, Datenbanken und Tools umgangen werden.

Was ist ein Container Image

Man kann sich das Docker Image als Kopiervorlage für neue Container vorstellen. Im Prinzip ähnelt das der objektorientierten Programmierung. Da spricht man von einer Klasse, was im Prinzip der Bauplan ist und von einem Objekt, welches aus der Klasse erzeugt wird.

Damit wäre das Image eine Klasse und der Container ein Objekt. Applikationen wie z. B. Serveranwendungen werden innerhalb der Container Prozesse ausgeführt. Typische Serveranwendungen sind dabei u. a. Webinfrastrukturdienste wie Apache oder nginx.

Was ist ein Dockerfile

Auch das Dockerfile gehört zu den grundlegenden Begrifflichkeit. Dabei handelt es sich um ein Textfile, welche Linux Kommandos beinhaltet. Darin liegen dann praktisch alle Kommandos und Aufgaben, die nötig sind, um ein Docker Images zusammenzustellen.

Was ist die Docker Engine

Dies ist eines der wichtigen Elemente, den die Docker Engine stellt die Laufzeit-Umgebung für Container zur Verfügung. Diese läuft sowohl unter Linux, macOS sowie auch unter Windows. Damit können mit der Engine Container Anwendungen auf jeder Infrastruktur problemlos laufen.

Was ist eine Docker Hub?

Im Prinzip ist ein Docker Hub ein online Repository Service, den man als Anwender verwenden kann, um dort seine Docker Images abzulegen und zu verwalten. Dort lassen sich sowohl öffentliche als auch private Repositorien ablegen. Auf der Seite hub.docker.com findet man wohl die größte Ansammlung an Images.

Was ist der Unterschied zwischen Container und virtuelle Maschinen

Container und virtuelle Maschinen sind sich grundsätzlich sehr ähnlich. Vor allem im Bereich der Zuweisung von Ressourcen und der Isolation. Von einem wesentlichen Punkt unterscheiden sie sich jedoch enorm.

Container virtualisieren im Betriebssystem keine Hardware. Ein Container läuft damit auf der echten Hardware eines Hosts und eben nicht auf einer virtuellen simulierten Hardware. Dadurch sind Container viel leichtgewichtiger. Sie werden alle innerhalb eines einzelnen Betriebssystem Kernels ausgeführt.

Eine virtuelle Maschine ist ein komplett emulierten Computersystem und bietet dadurch auch die Funktionalität eines physischen Computersystems an. Bei Docker ist das aber eben nicht der Fall.

Grundprinzip von Docker
Grundprinzip von Docker

Installation von Docker unter Windows

Docker kann man grundsätzlich auf allen verfügbaren Betriebssystemen wie Linux, Windows und macOS installieren. Im Folgenden wird die Docker Engine auf Windows installiert. Im ersten Schritt benötigt man die Docker Engine, welche man direkt über den Docker Hub downloaden kann.

Docker für das gewünschte Betriebssystem downloaden
Docker für das gewünschte Betriebssystem downloaden

Vorab benötigt das Windows Betriebssystem noch das Windows Subsystem für Linux. Sollte man diese nicht installiert haben, so erhält man automatisch direkt einen Hinweis, dass diese benötigt wird. Die Installation von WSL (Windows Subsystem für Linux) erfolgt über die optionalen Features. Es kann aber auch direkt mit dem Docker Hub mitinstalliert werden.

Docker Hub mit WSL Installieren
Docker Hub mit WSL Installieren

Ansonsten ist die komplette Installation grundlegend selbsterklärend. Beim ersten Start von Docker Hub kann es sein, dass man eine Meldung erhält, dass die WSL 2 Installation incomplete ist.

Sollte dem so sein, wird ein Link angeboten, über welchen man das Update Paket herunterladen kann. Es handelt sich dabei um ein .msi Paket, welches einfach installiert werden kann. Abschließend sollte die Docker Engine starten.

Fertige Docker Installation unter Windows
Fertige Docker Installation unter Windows

In den nächsten Teilen der Serie geht es dann um die grundlegenden Docker Befehle, sowie um die Einrichtung einzelnen Images und Container.

Docker Artikelserie im Überblick

  1. Was ist Docker
  2. Grundlegen Docker Befehle
  3. Mit Docker ein Windows PowerShell Terminal bereitstellen
  4. Praktische Anwendung mit Docker (WordPress)

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*