Как Docker-контейнер может получить сообщение о выходе из хост-процесса? - PullRequest
0 голосов
/ 29 мая 2019

У нас есть два процесса в нашем проекте, и они выполняются на физическом компьютере в виде двух служб Systemd с конфигурацией BindsTo. Если процесс A будет перезапущен, процесс B также перезапустится. Они работали хорошо до тех пор, пока по некоторым причинам нам не пришлось контейнеризировать процесс B Теперь процесс A выполняется на главном компьютере, а процесс B находится внутри контейнера Docker ,, и механизм Systemd больше не работает.

Есть ли способ, чтобы процесс B мог получать уведомления, как только процесс A перезапускается, точно так же, как это делает Systemd 'BindsTo'?

1 Ответ

0 голосов
/ 29 мая 2019

Просто поместите ваш контейнер в systemd Unit, и вы можете управлять своим контейнером как systemd service. Например:

[Unit]
Description=B in Docker
After=docker.service
Requires=docker.service

[Service]
ExecStartpre=-/usr/bin/docker stop container_b
ExecStartpre=-/usr/bin/docker rm container_b
ExecStart=/usr/bin/docker run --rm --name container_b image:tag
ExecStop=-/usr/bin/docker stop container_b
ExecStop=-/usr/bin/docker rm container_b
Restart=always
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...