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服务必须运行才能正常工作。

相关内容