myservice
でサービスをdocker-compose
開始および停止できますsystemctl
。ただし、システムがシャットダウンまたは再起動されると、これを実行する前に約2分間停止します。systemctl
シャットダウン/再開する前にサービスを手動で停止すると、中断は発生しません。
残念ながら、システムが構築され構成されている方法(カスタム組み込みビルド)により、再起動後もログが保持されるのは簡単ではないため、起動時に実際に何が起こっているのかを簡単に確認することはできません。
終了時に停止するサービスに関する情報を探していますsystemctl stop myservice
。
サービスファイルは次のとおりです。
[Unit]
Description=Myservice Description
After=network.target syslog.target docker.service
Requires=docker.service
RequiresMountsFor=/mnt/data/where_docker_volumes_live
[Service]
Type=simple
ExecStartPre=/opt/some_prep_script.sh
ExecStart=/usr/bin/docker-compose --project-directory /opt/mycontainers up --force-recreate
ExecStop=/usr/bin/docker-compose --project-directory /opt/mycontainers down
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target