Ich habe einen Postfix-Pod, den ich so lange ausführen möchte, wie ich meinen ganzen Cluster habe. Das Problem ist, dass der Befehl „Start“:Wie wird ein Kubernetes-Pod ausgeführt, wenn der Hauptprozess nicht blockiert?
postfix start
ist nicht blockierend, was bedeutet, es so schnell beendet, wie es erfolgreich den Befehl feuert. Soweit ich weiß, ist dies die einzige Möglichkeit, Postfix zu starten.
Die Funktionsweise von Docker ist, dass es den Container verlässt, sobald der Hauptprozess beendet wird. Wenn postfix start
zurückkehrt, nimmt Docker an, dass der gesamte Container fertig ist und schließt, obwohl dieser Befehl andere Prozesse ausgelöst hat.
Wie verhindere ich dies? Die einzige Problemumgehung, die ich mir vorstellen kann, ist postfix start && sleep infinity
, aber das scheint hacky und komisch. Ich möchte eine Schlafunendlichkeit möglichst vermeiden. Gibt es eine alternative Möglichkeit, Postfix zu starten, das blockiert?
für Ihre Überlegung, das wird die CPU-Zeit positiv brennen; eine Konzession wäre "während Schlaf 1; tun ... ' –
Ja stimme ich zu. Ich habe gerade ein zufälliges Skript aus einem ähnlichen Anwendungsfall gepostet, um die allgemeine Idee zu teilen – whites11