Systemd 在停止時停止 docker 容器內的服務

Systemd 在停止時停止 docker 容器內的服務

我有一個看起來像這樣的一次性服務

[Unit]
Description=My Service
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/myservice.sh start
ExecStop=/usr/local/bin/myservice.sh stop
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

我正在運行的 docker 映像有

STOPSIGNAL SIGRTMIN+3
ENTRYPOINT ["/sbin/init"]

當我啟動容器時,該服務按預期啟動。如果我手動運行systemctl stop myservice它會按預期工作,但是當我運行時docker stop mycontainer,不會呼叫停止。這是停止訊號問題還是服務配置問題?

答案1

服務和訊號正確,但systemd-halt服務必須運作才能正常運作。

相關內容