Не мог использовать Systemd для запуска моего контейнера Докера

У меня есть очень конкретный вопрос с выполнением контейнера Докера на начальной загрузке с помощью systemd.

Контейнер запускается и останавливается успешно со следующими сценариями:

запустить-container.sh

#!/usr/bin/env bash
sleep 5
docker start container_name

остановиться-container.sh

#!/usr/bin/env bash
sleep 5
docker stop container_name

Однако, когда я настраиваю следующий сервис с помощью systemd, он не работает успешно:

[Unit]
Description=Docker Container
After=network.target
After=systemd-user-sessions.service
After=network-online.target
After=multi-user.target

[Service]
User=root
Type=simple
ExecStart=/home/seed/scripts/start-container.sh
ExecStop=/home/seed/scripts/stop-container.sh
TimeoutSec=60
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10

[Install]
WantedBy=default.target
2
задан 26 March 2019 в 06:12

1 ответ

Полные пути являются ключом к успеху в сценариях оболочки.

Для почему бы не создания его без сценариев корневого каталога (который не является хорошей практикой в сервисах):

[Unit]
Description=Docker Container
After=network.target
After=systemd-user-sessions.service
After=network-online.target
After=multi-user.target

[Service]
User=root
Type=simple
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 5 container_name
TimeoutSec=60
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10

[Install]
WantedBy=default.target

Счастливый dockering!

0
ответ дан 2 December 2019 в 06:24

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

Похожие вопросы: