Ich habe versucht, die Anzahl der Neustarts eines Dienstes (in einem Container) einzuschränken. Die Betriebssystemversion ist centos-release-7-5, die Servicedatei ist wie folgt (einige Parameter wurden entfernt, um das Lesen zu vereinfachen). Es sollte ziemlich einfach sein, wie einige andere Beiträge betonten (Neustartlimit 1 für Post of Server-Fehler, Limit 2 für Neustart nach Stapelüberlauf). StartLimitBurst und StartLimitIntervalSec funktionieren jedoch nie für mich.
Ich habe auf verschiedene Arten getestet: (1) Ich überprüfe die Dienst-PID und beende den Dienst mehrmals mit "kill -9 ****". Der Dienst wird immer nach 20s neu gestartet! (2) Ich habe auch versucht, die Servicedatei durcheinander zu bringen, damit der Container nie läuft. Trotzdem funktioniert es nicht, die Servicedatei wird immer wieder neu gestartet.
Irgendeine Idee?
[Unit]
Description=Hello Fluentd
After=docker.service
Requires=docker.service
StartLimitBurst=2
StartLimitIntervalSec=150s
[Service]
EnvironmentFile=/etc/environment
ExecStartPre=-/usr/bin/docker stop "fluentd"
ExecStartPre=-/usr/bin/docker rm -f "fluentd"
ExecStart=/usr/bin/docker run fluentd
ExecStop=/usr/bin/docker stop "fluentd"
Restart=always
RestartSec=20s
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target