Docker

Hardin Software unterstützt sie bei der Entwicklung von Software auf Basis von Docker, insbesondere von Anwendungen, Microservices und Continuous Integration, Delivery und Deployment Pipelines.

Docker ermöglicht es, viele verschiedene Anwendungen effizient und sicher voneinander isoliert auf Computern zu installieren und auszuführen. Docker lässt die Anwendungen in sog. Containern laufen.

Diese Container nutzen gemeinsam das Betriebssystem und die Ressourcen des Computers, auf dem Docker installiert ist. Die Container haben ein eigenes Netzwerk-Interfaces und ein eigenes Dateisystem. Dadurch sind sie weitgehend voneinander isoliert.

Die Prozesse in einem Container beanspruchen kaum mehr Ressourcen als die Prozesse, die außerhalb von Containern direkt auf dem Betriebssystem laufen. Docker ist dadurch sehr viel effizienter als virtuellen Maschinen, die jeweils vollständige Betriebssysteme beinhalten. 

Als Docker Image wird der Code bezeichnet, mit dem man eindeutig definiert, aus welchen konkreten Softwaremodulen ein Container bestehen soll. Ein Container ist die laufende Instanz eines Docker Images. Aus einem Image kann man beliebig viele Container erzeugen.

Docker Images bauen als sog. Layer hierarchisch aufeinander auf. Dadurch sind Docker Images leicht wiederverwendbar, was den Aufwand für die Entwicklung von Docker Images gering hält. Der Code eines Layers muss außerdem nur einmal auf den Rechner heruntergeladen und installiert werden, auch wenn er in unterschiedlichen Docker Images verwendet wird.

Die erste Version Docker wurde 2013 veröffentlicht. Schon 2014 wurde Docker in mehrere führende Linux-Distribution aufgenommen. Docker basiert auf Linux, kann aber zum Zweck der Softwareentwicklung komfortabel mit Hilfe von Tools zur Virtualisierung auch auf macOS und Windows verwendet werden. Als Standard für die Orchestrierung von Docker-Containern hat sich Kubernetes etabliert.