我有一個看起來像這樣的一次性服務
[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
服務必須運作才能正常運作。