Systemd stoppt Dienste im Docker-Container beim Stoppen

Systemd stoppt Dienste im Docker-Container beim Stoppen

Ich habe einen Oneshot-Dienst, der so aussieht

[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

Das von mir verwendete Docker-Image hat

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

Der Dienst wird wie erwartet gestartet, wenn ich den Container starte. Wenn ich ihn manuell ausführe, systemctl stop myservicefunktioniert er wie erwartet, aber wenn ich ausführe docker stop mycontainer, wird der Stopp nicht aufgerufen. Handelt es sich hier um ein Stoppsignal- oder Dienstkonfigurationsproblem?

Antwort1

Der Dienst und das Signal waren korrekt, aber systemd-haltder Dienst muss ausgeführt werden, damit dies funktioniert.

verwandte Informationen