Сбой службы systemd с зависимостью

На моем сервере Ubuntu 16.04 я написал две службы systemd для запуска docker контейнеры при перезагрузке системы. из них начальная отлично загружается. Второй сервис зависит от первого сервиса, который никогда не выполняется. Однако, если запустить 2-й сервис вручную с sudo systemctl start swoop.app.service тогда работает нормально.

вот первый скрипт

[Unit]
Description=Swoop MongoDb Server container
Requires=docker.service
After=docker.service

[Service]
TimeoutStartSec=0

ExecStart=/usr/bin/docker-compose -f /var/www/swoop/docker-compose.yml up -d mongo3 mongo2 mongo1 mongosetup

Restart=always
RestartSec=10s
Type=notify
NotifyAccess=all

[Install]
WantedBy=local.target

и второй сценарий

[Unit]
Description=Swoop App Server container
Requires=docker.service
After=docker.service

Requires=swoop.mongo.service
After=swoop.mongo.service


[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/docker-compose -f /var/www/swoop/docker-compose.yml up -d app

Restart=always
RestartSec=10s
Type=notify
NotifyAccess=all

[Install]
WantedBy=local.target

Почему не в состоянии обнаружить swoop.mongo.service служба запущена или нет.

Обновить:

Хотя Docker-контейнеры service1 работают после загрузки.
Статус Service1

$ systemctl status swoop.mongo.service 
● swoop.mongo.service - Swoop MongoDb Server container
Loaded: loaded (/etc/systemd/system/swoop.mongo.service; disabled; vendor preset: enabled)
Active: inactive (dead)

Состояние Service2

$ systemctl status swoop.app.service 
● swoop.app.service - Swoop App Server container
Loaded: loaded (/etc/systemd/system/swoop.app.service; disabled; vendor preset: enabled)
Active: inactive (dead)

1 ответ

Я понял, почему это не выполняется.

Сначала мне нужно включить сервисы как
sudo systemctl enable swoop.mongo && sudo systemctl enable swoop.app

Кроме того, я должен изменить WantedBy=local.target в WantedBy=multi-user.target,

Другие вопросы по тегам