Запуск docker контейнеров при linux запуске системы из каталога пользователя - PullRequest
0 голосов
/ 23 января 2020

Я скачал два docker контейнера и уже настроил их.

Итак, теперь все, что мне нужно, это запустить их при запуске системы.

Они находятся в пути, подобном

/home/user/docker-mailserver

/home/user/docker-webserver

Размещено на Ubuntu 18.04.01 (x64)

При загрузке эти docker контейнеры не работают.

При входе в систему запускаются эти контейнеры docker.

Я уже пытался сделать что-то вроде

docker run -it --restart unless-stopped fancydockercontainer:latest

docker run -dit --restart unless-stopped fancydockercontainer:latest

Но тогда, когда я делаю docker ps там, где новые контейнеры добавляются в пул.

Есть ли способ «перенаправить» процесс запуска этих контейнеров на запуск системы без полного удаления / удалить их?

Дополнение: я их начал как docker-compose up -d mailserver

1 Ответ

0 голосов
/ 23 января 2020

После того, как @KamilCuk дал подсказку, чтобы решить эту проблему с помощью сервиса, это было возможным решением.

Выглядит так:

  1. Создайте файл сервиса с помощью команды: nano /etc/systemd/system/docker-mail.service

  2. Готово, что-то подобное в файле

[Unit]
Description=Docker Mailserver
Requires=docker.service
After=docker.service

[Service]
Restart=always
RemainAfterExit=yes
WorkingDirectory=/home/user/docker-mailserver
ExecStart=/usr/bin/docker-compose up -d mail
ExecStop=/usr/bin/docker-compose stop -d mail

[Install]
WantedBy=default.target
Добавление новой службы в systemctl с помощью systemctl enable docker-mail.service

После перезагрузки сервера этот почтовый сервер доступен.

В этот момент я смог увидеть журнал запуска с journalctl -u docker-mail.service -b (-b это просто "boot")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...