我有一个看起来像这样的一次性服务
[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
服务必须运行才能正常工作。