c't 6/2019
S. 156
Hintergrund
Docker-API

Container-Dolmetscher

Hinter den Kulissen der Docker-Kommandozeile

Hinter der Docker-Kommandozeile steckt ein API, das JSON-Objekte zurückgibt. Wer diesen Zusammenhang versteht, kann sich bei der Arbeit mit Docker-GUIs helfen und Docker sogar aus eigenen Anwendungen steuern.

Als Docker-Nutzer bekommt man von der Arbeit des Docker Daemon wenig mit – ahnt womöglich nicht einmal, dass er überhaupt existiert. Dass das gewohnte Kommandozeilentool docker (das sogenannte Docker-CLI) mit Befehlen wie docker run und docker build nur eine Oberfläche für den Docker Daemon ist und mit diesem über ein API kommuniziert, erfährt man allenfalls erst dann, wenn es knirscht und man in der Dokumentation nach Hilfe sucht.

Der Docker Daemon (dockerd) ist der Server-Dienst, der auf einer Maschine mit installiertem Docker läuft und die Container verwaltet: Starten, Beenden, Images aus der Registry laden und Bauprozesse starten. Der Kommandozeilen-Client ist davon unabhängig. Er kann auf der gleichen Maschine laufen, aber auch über das Netzwerk mit einem entfernten Daemon sprechen. Dass es sich um zwei Komponenten handelt, zeigt docker version.