Tengo un servicio oneshot que se parece a este
[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
La imagen de la ventana acoplable que estoy ejecutando tiene
STOPSIGNAL SIGRTMIN+3
ENTRYPOINT ["/sbin/init"]
El servicio se inicia como se esperaba cuando inicio el contenedor. Si lo ejecuto manualmente, systemctl stop myservice
funciona como se esperaba, pero cuando lo ejecuto docker stop mycontainer
, no se llama a la parada. ¿Se trata de un problema con la señal de parada o de configuración del servicio?
Respuesta1
El servicio y la señal eran correctos, pero systemd-halt
el servicio debe estar funcionando para que funcione.