Dumb-Init: Yelp baut Init-System für Docker-Container

Eigentlich läuft in Docker-Containern immer nur ein einziger Prozess, so dass auf eine Prozessverwaltung über ein Init-System wie Systemd verzichtet werden kann. Das aber könne zu ganz eigenen Problemen führen, heißt es in dem Entwicklerblog von Yelp(öffnet im neuen Fenster) . Das minimale System Dumb-Init soll jedoch genau dafür eine Lösung anbieten.
Demnach sei es bisher eher schwer, mit fehlerhaft laufenden Containern umzugehen, etwa wenn diese ein Speicherleck haben oder nicht auf sinnvolle Art und Weise gestoppt werden können. Würden sich die Container gegenüber dem Host-System allerdings wie normale Prozesse verhalten, könnte adäquat auf derartige Fehler reagiert werden.
Eine einfacher Proxy für das System
Mit Dumb-Init soll genau dies erreicht werden. Dazu übernimmt die Software die Rolle des Init-Systems innerhalb eines Containers, wobei lediglich der gewünschte Prozess als Kind-Prozess gestartet wird und anschließend sämtliche Signale(öffnet im neuen Fenster) einfach weitergeleitet werden können. Die Prozesse im Container könnten so wie erwartet auf Nutzereingaben oder eben auch Signale reagieren. Die eher harte Methode, den gewünschten Prozess nur per Sigkill stoppen zu können, kann so umgangen werden.
Ein ähnliches Verhalten könne zwar auch mit bestehenden Init-Systemen umgesetzt werden, diese benötigten jedoch üblicherweise deutlich mehr Ressourcen und erhöhten zusätzlich die Komplexität. Dumb-Init sei - wie der Name verspricht - dagegen sehr einfach gehalten.
Der Code des Projekts steht auf Github(öffnet im neuen Fenster) unter einer MIT-Lizenz zum Download bereit. Dort finden sich auch weitere Informationen zur Funktionsweise der Anwendung.