Задать вопрос
inf
@inf
DevOps Engineer

Как запустить nginx при отсутствии сервиса docker swarm?

Имеется docker swarm оркестратор и nginx внутри для проксирования запросов.
upstream site {
  server site:3000;
}

Проблема возникает когда сервис докер сварма site не запускается или запускается позже сервиса nginx. В результате nginx не запускается совсем так как не резолвится имя site.
Может как-то можно понизить тревожность этой настройки, чтобы nginx всё равно запускался, и слал запросы когда сервис оживёт?
  • Вопрос задан
  • 147 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    7 месяцев
    Далее
Решения вопроса 1
inf
@inf Автор вопроса
DevOps Engineer
Похоже единственный вариант это не указывать апстримы, а объявлять их в директиве location вместе с резолвером.
https://ilhicas.com/2018/04/14/Nginx-Upstream-Unav...
location / {
           resolver 8.8.8.8 valid=10s;
           set $upstreamName nameofhost:8443;
           proxy_pass http://$upstreamName;

Но если используется статистика nginx-vts, то не будут считаться метрики апстримов.
Поэтому в целом docker swarm + nginx + nginx_vts + prometheus это путь в никуда.
Как вариант попробовать traefik как заменитель nginx.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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