Как перезагрузить systemd service?

#docker #ubuntu #systemd

#docker #ubuntu #systemd

Вопрос:

У меня определена следующая служба

 [Unit]
Description=Docker Compose Application Service [monitor]
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/eugenekim/Documents/monitor/node-master
ExecStart=/usr/local/bin/docker-compose -f docker-compose.log.yml up -d es-log-00
ExecStop=/usr/local/bin/docker-compose -f docker-compose.log.yml down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target
  

Файл docker-compose.log.yml был изменен, и даже файл *.service изменился, но система каким-то образом настаивает на запуске старого определения..

Я пытался запустить daemon-reload , но это не дало никакого эффекта.
когда я пытаюсь запустить

 sudo systemctl reload docker-log                                                                                                                                                              14469ms
Failed to reload docker-log.service: Job type reload is not applicable for unit docker-log.service.
See system logs and 'systemctl status docker-log.service' for details.
  

Это также не имеет никакого эффекта..

Ответ №1:

Я думаю, ты чего-то не понимаешь ExecReload .

 [Unit]
Description=Docker Compose Application Service [monitor]
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/eugenekim/Documents/monitor/node-master
ExecStart=/usr/local/bin/docker-compose -f docker-compose.log.yml up -d es-log-00
# docker compose will watch for changes
ExecReload=/usr/local/bin/docker-compose -f docker-compose.log.yml up -d es-log-00
# or you want a force restart
#ExecReload=/usr/local/bin/docker-compose -f docker-compose.log.yml restart es-log-00
ExecStop=/usr/local/bin/docker-compose -f docker-compose.log.yml down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target