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正常に機能するにはサービスが実行されている必要があります。

おすすめ記事