Zurück zur Übersicht

Begriff

Docker Daemon (dockerd)

Containerization Docker S2
2 Quellen 1 Lernpfad 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wenn du Docker installierst, installierst du eigentlich einen Server-Dienst. Dieser Dienst heißt Docker Daemon (dockerd). Er läuft im Hintergrund (Systemd Service) und schläft nie. Er ist der Boss. Er verwaltet alle Container, Images, Netzwerke und Volumes. Wenn du docker run tippst, sendest du nur einen Wunsch an den Daemon. Der Daemon redet dann mit dem Linux-Kernel, um den Wunsch zu erfüllen. Wenn der Daemon abstürzt, sterben (oft) alle Container.

Merksatz: Der persistente Hintergrundprozess, der Docker-Objekte verwaltet und Container-Runtimes anweist, Container zu erstellen und auszuführen.


Quick-Check

  1. Was ist containerd?
    Eine High-Level Runtime, die von Docker ausgekoppelt wurde. Kubernetes nutzt heute oft containerd direkt (ohne Docker Daemon dazwischen), um Ressourcen zu sparen. Docker ist "nur noch" UI für containerd.
  2. Kann ich den Daemon überwachen?
    Ja. In der daemon.json kannst du "metrics-addr": "0.0.0.0:9323" setzen. Das öffnet einen Prometheus-Endpunkt mit internen Metriken (Anzahl Container, Go-Routines, Failures).
  3. Warum stirbt alles bei kill -9 dockerd?
    Weil SIGKILL dem Daemon keine Chance gibt, die Child-Prozesse an systemd zu übergeben. Die Pipe bricht, shims verlieren die Verbindung -> Chaos. Nutze immer systemctl stop docker.