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

내가 실행중인 도커 이미지에는

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

컨테이너를 시작하면 서비스가 예상대로 시작됩니다. 수동으로 실행하면 systemctl stop myservice예상대로 작동하지만 실행하면 docker stop mycontainerstop이 호출되지 않습니다. 정지 신호 문제인가요, 아니면 서비스 구성 문제인가요?

답변1

서비스와 신호는 정확하지만 systemd-halt제대로 작동하려면 서비스가 실행되고 있어야 합니다.

관련 정보