Контейнер rabbitmq docker стартует раньше чем сервис nginx. Как указать согласованность запуска?
Всем доброго дня!
Помогите пожалуйста, добрые люди. Как указать согласованность запуска контейнера docker строго после запуска сервиса nginx, установленного на хосте?
Дано:
- есть nginx, он запускается в виде сервиса на хосте
- в nginx подключен модуль Nemesida WAF, который обращается к RabbitMQ сразу при запуске nginx.
- после перезапуска машины, в логах не красивая картина, много сообщений "Nemesida WAF: unable to connect to the RabbitMQ". Сервис nginx запускается раньше, а rabbitmq к этому моменту ещё не успевает запуститься. Отсюда эти сообщения.
Пробовал прописать строку "Before=nginx.service" в блоке [Unit] в файле rabbitmq-server.service. Эффекта нет.
Учитывая, что эта настройка - она для контейнера, то контейнер docker просто не увидит nginx.service при запуске, потому что nginx.service установлен на хосте.
Если бы nginx был тоже в контейнере, тогда очерёдность запуска легко решалась бы при помощи docker-compose, но у нас nginx на хосте, и это продакшен.
Помогите, пожалуйста, решить вопрос: как заставить контейнер rabbitmq запускаться строго ДО старта сервиса nginx, установленного не в docker?
Самое простое это вынести nginx в докер, остальное сводиться к научить модуль nginx какое-то время "тихо" ждать коннекта, либо принять "в логах не красивая картина" как поведение, которое надо учитывать при анализе логов.