User Tools

Site Tools


user:jan001:ba:docker

This is an old revision of the document!


Docker

Bei Docker handelt es sich um ein open-source (Apache 2.0 Lizenz) System um sogenannte Container zu betreiben und zu verwalten. Dies dient im besonderen dazu Code effizient in kurzer Zeit auf diversen Systemen lauffähig zu machen. (Turnbull, 2019, S.7-8) So hilft Docker eine Applikation von der Infrastruktur zu separieren und so zu isolieren (Docker Inc., o.J.).

Funktionsweise und Unterschied zu virtuellen Maschinen

Das Docker-System besteht aus drei essentiellen Teilen:

  • Docker Images
  • Docker Container
  • Docker Engine

Die Docker Images sind die Bauanleitung für die Docker Container. Die Images enthalten dabei eine Schritt für Schritt-Anleitung, wie ein Container generiert beziehungsweise aufgebaut werden muss. Als Beispiel nennt Turnbull:

  1. Füge eine Datei hinzu.
  2. Führe einen Befehl aus.
  3. Öffne einen Port.

Wie zusehen ist, sind diese Images sehr trivial aufgebaut. Das macht es besonders einfach sie zu teilen und zu modifizieren. (Turnbull, 2019, S.12) Ein weiterer Vorteil der Images ist es, dass sie aufeinander basieren können. So ist es beispielsweise möglich ein eigenes Image zu erstellen welches auf dem Image von Ubuntu basiert. So ein Image wird dann in einer Dockerfile erstellt. Jeder weitere hinzugefügte Befehl wird als eine neue Ebene gesehen. Ein Vorteil welcher Docker von anderen Container-Systemen unterscheidet ist, dass Docker ein Image nicht komplett neu baut, wenn in der Dockerfile sich eine Ebene verändert. Es werden lediglich die veränderten Ebenen erneuert. Das macht, laut Docker Inc., die Images so klein und schnell. Die meisten der allgemein bekannten Docker Images werden in Registries zur Verfügung gestellt, wo sie für jeden zur Verfügung stehen. Eine der bekanntesten Registries ist Docker Hub. (Docker Inc., o.J.)

Docker-Compose

Einsatzgebiete

user/jan001/ba/docker.1612879625.txt.gz · Last modified: 2021/08/24 17:34 (external edit)