Wir haben einen Server unter CentOS, auf dem sich mehrere Dienste in Docker-Containern befinden, um sie von Hoständerungen zu trennen.
Letzte Woche, Freitag, haben wir ein Update für CentOS durchgeführt, und seitdem wird einer unserer Dienste gestartet und sofort beendet. Die anderen 15+ Dienste sind in Ordnung.
Ich habe das Container-Setup geklont, den Containernamen geändert und mit demselben Problem neu erstellt: Der Container wird gestartet und dann ohne Meldung beendet.
Der Container ist vom Samba-Container von David Personette abgeleitet . Der eigentliche Befehl, der jetzt beendet wird, aber nicht verwendet wurde, lautet:
exec ionice -c 3 smbd -FS
Sollte ich Docker herabstufen, hat das Nebenwirkungen? Kann ich noch etwas tun, um dies wieder zum Laufen zu bringen? Wir haben Container ausgewählt, um vom Betriebssystem zu abstrahieren. Ist diese Abstraktion nicht so gut wie erwartet?
Antworten:
Der Container wird kommentarlos beendet, es sei denn, Sie erhöhen die Debugstufe. Sie können so etwas wie verwenden
--debuglevel=4
.Sobald Sie dies getan haben, erstellen Sie den Container neu und starten Sie ihn neu. Am Ende sollten Sie Folgendes erhalten:
Und das deutet auf die Lösung hin, ändern Sie den
smbd
Aufruf in:und Ihr Container sollte nicht mehr direkt austreten.
Ich bin nicht sicher, was diese rückwärts inkompatible Änderung verursacht oder warum dies nicht gegen vorhandene Dockerhub-Einträge getestet wurde.
Beim Upgrade auf 1.11 waren auch zwei meiner Container kaputt. und beim Downgrade auf 1.10.3 stieß ich auf den gefürchteten
Cannot stop container .... Container does not exist: container destroyed
Bug. Ich musste Docker stoppen, die gesamte Geschichte löschen, daher kann ich das nicht wirklich empfehlen.quelle