Tôi đã cố gắng hạn chế số lượng dịch vụ (trong một container) khởi động lại. Phiên bản HĐH là centos-release-7-5, tệp dịch vụ khá nhiều như bên dưới (đã xóa một số tham số để đọc thuận tiện). Nó sẽ khá dễ dàng như một số bài viết khác đã chỉ ra (Post of Server Fault giới hạn khởi động 1, Post of Stack Overflow giới hạn khởi động lại 2). Tuy nhiên, StartLimitBurst và StartLimitIntervalSec không bao giờ hoạt động với tôi.
Tôi đã thử nghiệm bằng nhiều cách: (1) Tôi kiểm tra dịch vụ PID, hủy dịch vụ bằng "kill -9 ****" nhiều lần. Dịch vụ này luôn được khởi động lại sau 20 giây! (2) Tôi cũng đã cố làm rối tập tin dịch vụ, làm cho container không bao giờ chạy. Tuy nhiên, nó không hoạt động, tập tin dịch vụ cứ tiếp tục khởi động lại.
Bất kỳ ý tưởng?
[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