다음과 같은 일회성 서비스가 있습니다.
[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
내가 실행중인 도커 이미지에는
STOPSIGNAL SIGRTMIN+3
ENTRYPOINT ["/sbin/init"]
컨테이너를 시작하면 서비스가 예상대로 시작됩니다. 수동으로 실행하면 systemctl stop myservice
예상대로 작동하지만 실행하면 docker stop mycontainer
stop이 호출되지 않습니다. 정지 신호 문제인가요, 아니면 서비스 구성 문제인가요?
답변1
서비스와 신호는 정확하지만 systemd-halt
제대로 작동하려면 서비스가 실행되고 있어야 합니다.