Original-URL des Artikels: https://www.golem.de/news/dumb-init-yelp-baut-init-system-fuer-docker-container-1601-118403.html    Veröffentlicht: 07.01.2016 16:34    Kurz-URL: https://glm.io/118403

Dumb-Init

Yelp baut Init-System für Docker-Container

Der Umgang mit Prozessen innerhalb von Docker-Containern kann mitunter schwierig sein. Als Lösung gibt es nun ein minimales Init-System für die Container, das als Proxy zum Host-System genutzt wird.

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. 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 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 unter einer MIT-Lizenz zum Download bereit. Dort finden sich auch weitere Informationen zur Funktionsweise der Anwendung.  (sg)


Verwandte Artikel:
Containerd: Container-Laufzeit von Docker allgemein verfügbar   
(07.12.2017, https://glm.io/131549 )
IaaS: Openstack Queens unterstützt vGPUs und Container   
(01.03.2018, https://glm.io/133080 )
Linux-Jahresrückblick 2014: Umbauarbeiten, Gezanke und Container   
(31.12.2014, https://glm.io/111287 )
Statt Docker und Kubernetes: Facebook braucht Tupperware für seine Container   
(24.10.2017, https://glm.io/130782 )
Kubernetes und Openshift: Red Hat übernimmt Container-Spezialisten Core OS   
(31.01.2018, https://glm.io/132494 )

© 1997–2020 Golem.de, https://www.golem.de/