Menü
Developer

Anwendungs-Container: Docker 1.2 lässt Restart Policy festlegen

Ob Docker einen Container im Fehlerfall nicht, immer oder nur bei festgelegten Fehlercodes neu startet, können Nutzer in der aktuellen Version selbst bestimmen.

vorlesen Drucken Kommentare lesen 11 Beiträge

Version 1.2 des Docker-Projekts steht zum Download bereit. Neben Ergänzungen wie Durchsuchungsmöglichkeiten in privaten Registries und Support für IPv6-Adressen in --dns, können Nutzer nun unter anderem auch mit docker run auf ein --device-Flag zurückgreifen. Letzteres ermöglicht es, auch aus nicht im --privileged-Modus laufenden Containern heraus auf Elemente wie Soundkarte oder Laufwerke zugreifen zu können.

Darüber hinaus haben die Entwickler den run-Befehl um ein --restart-Flag erweitert, mit dem sich Regeln für den Fehlerfall anlegen lassen. Die drei vorgesehenen Optionen sind hier no, die keinen Neustart des Containers veranlasst und den Standardeintrag darstellt, on-failure, die den Container neu startet, wenn ein Fehlercode der nicht "null" ist, zurückgegeben wird und zudem eine Anzahl von maximalen Restarts festlegen lässt, und always, die den Container nach einem Abbruch immer erneut startet, egal welcher Fehlercode zurück kam. Weitere neu ergänzte Flags für run sind --cap-ad und --cap-drop, mit dem sich bestimmte Fähigkeiten eines Containers zu- oder abschalten lassen.

In einem laufenden Container können Nutzer /etc/hosts, /etc/hostname und /etc/resolve.conf nun editieren. Sie sollten allerdings darauf achten, dass derartige Änderungen nur im laufenden Zustand gültig sind und nicht während dem Build-Prozess gespeichert werden. Sie sind also nicht im erstellten Image zu finden. Um die Last auf dem Daemon klein zu halten und so die Stabilität und Effizienz zu verbessern, läuft der userland-Proxy nun in einem eigenen Prozess.

Docker dient dem Verpacken von Anwendungen und ihren Abhängigkeiten in Container. In diesen lassen sich die Applikationen auch ausführen, wobei sie im Vergleich zu einer virtuellen Maschine weniger Ressourcen brauchen und schneller starten können sollen. Im Juli 2014 konnte das Projekt sein erstes Major Release freigeben.

Siehe dazu auf heise Developer:

(jul)