запускаться в случае если один из upstream-ов не доступен ?
Получается что есть 3 docker контейнера и если один из них не работает, то nginx не запускается
nginx тоже в контейнере? Как и с помощью чего запускаете контейнеры? И конфиг nginx покажите.
1. Да nginx тоже в контейнере Вот фото конфига (остальные location такие же)
Так как контейнерами управляете? Compose? Что значит "остальные location такие же"?
1. Compose - да 2. В смысле что есть еще location с разными upstream но конфиг в целом такой же
Если у всех server_name одинаковый, то вот так лучше сделать. http { upstream myproject { server 127.0.0.1:8000 weight=3; server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; } server { listen 80; server_name www.domain.com; location / { proxy_pass http://myproject; } } }
Я не в этом смысле. Один server_name и несколько location с разными upstream
А что Вы под upstream понимаете? Покажите это в Вашем конфиге выше.
upstream core-users { server core-users-application:3000; }
Давайте конфиги полностью на pastebin Все, что Вы привели выше никак не коррелирует друг с другом.
Да, я думаю так будет правильнее и удобнее для вас. https://pastebin.com/XZ3mNaPT
Вот теперь понятно. Тут, как правильно подсказали, надо в docker-compose порядок запуска контейнеров определять, чтобы nginx стартовал самым последним, тогда он корректно отрезолвит все хосты, которые у него в конфиге.
Обсуждают сегодня