Bargamut
@Bargamut
Программист

Нужен совет: корректна ли связка Nginx — Docker — Nginx (proxy)?

Привет!

Друзья DevOps, подскажите советом,пожалуйста!
Хочу мнение со стороны.

Суть

В проекте есть Dockerfile с multi-stage builds:
  1. FROM node:13.10.1-alpine as builder - в нём приложение билдуется в статику
  2. FROM nginx:1.14-alpine - итоговый образ с файлами приложения и Nginx "на раздаче"


Есть Jenkinsfile, pipeline, прогоняющий код по тестам, запускающий сборку нового образа, создание контейнера на его основе, запуск нового контейнера и остановку старого.

На сервере, где должен крутиться контейнер, стоит Nginx в качестве proxy до приложения в контейнере с помощью proxy_pass http://localhost:<номер порта>

Таким образом, получается цепочка:
Клиент -> Nginx (proxy) -> Nginx (in Docker) -> App

Схема работает, но задумался, возможно, есть вариант проще?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MadridianFox
Web-программист, многостаночник
В этом нет ничего криминального. Если вам надо именно так - делайте. Если видите способ упростить систему - упрощайте.
Главное не забыть прокинуть реальный ip и схему в заголовке.

Кстати, k8s например примерно так и работает. Там 80,443 порт слушает т.н. ингрес - обычно тот же nginx, конфиг которого задаётся через yml файл. И вот он принимает все запросы и в зависимости от настроек проксирует их на бэкэнды, в том числе и на внутренние nginx'ы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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