(コンテナー内の)サービスの再起動数を制限しようとしました。OSのバージョンはcentos-release-7-5で、サービスファイルは次のようになります(読みやすいように一部のパラメーターを削除しました)。他のいくつかの投稿が指摘しているように、これはかなり単純なはずです(Post of Server Faultの再起動制限1、Post of Stack Overflowの再起動制限2)。しかし、StartLimitBurstとStartLimitIntervalSecは私にとっては機能しません。
私はいくつかの方法でテストしました:(1)サービスPIDをチェックし、「kill -9 ****」でサービスを数回強制終了します。サービスは常に20秒後に再起動されます!(2)また、サービスファイルをめちゃくちゃにして、コンテナが実行されないようにしました。それでも機能しません。サービスファイルは再起動し続けるだけです。
何か案が?
[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