лучшие практики для развертывания nginx - PullRequest
0 голосов
/ 22 октября 2018

Я совершенно новичок в облаке, я хотел развернуть свое приложение, которое использует node, MongoDB и redis.все эти части становятся док-контейнером и хорошо работают вместе.теперь я хочу настроить nginx.Интересно, что является лучшей практикой для развертывания балансировщиков нагрузки?я должен запустить nginx как контейнер Docker?или просто установить его на системном уровне?

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Это действительно хорошая идея встроить nginx в вашу докерскую сеть.Как Docker-контейнер, в Docker-сети он может подключаться к другим по их имени службы / контейнера, в то время как вы будете определять правило переадресации портов только для службы nginx.

Например:

docker network create --driver overlay --attachable demo
docker run -d -p 80:80 --network demo --name nginx nginx
docker run -it --network demo --name alpine alpine

Ваша оболочка должна быть в альпийском контейнере.Сделайте "ping nginx".Вы должны быть в состоянии пинговать это.Возможно и обратное.

Итак, теперь у вас на локальном хосте: 80 (с вашего хоста) развернуто nginx, которое может вызывать другие контейнеры с их именем контейнера / службы.Действительно полезно иметь точку доступа к веб-интерфейсу, развернутую в вашей докерной сети.

0 голосов
/ 25 марта 2019

Я думаю, это зависит от того, сколько сервисов вы хотите обслуживать с вашим экземпляром nginx.Например, поскольку вы можете иметь только один экземпляр nginx, связанный с портами 80 и 443, если вы хотите использовать один и тот же SAP в разных доменах, я бы выбрал nginx, работающий на хосте (или в выделенном стеке, но он выглядит сложным),Если вы используете SAP для одного домена, то имеет смысл поместить его в стек.

0 голосов
/ 23 октября 2018

Если вы запускаете другие компоненты стека в контейнерах, то имеет смысл запускать и nginx в качестве контейнера.Но это зависит от вашей среды, какие инструменты доступны.Вы можете легко масштабировать nginx в kubernetes, а также в docker swram или любом другом инструменте по вашему выбору.

В идеале вам нужно запускать каждый компонент в отдельном контейнере, чтобы вы могли управлять и масштабировать их, а также устранять неполадки независимо от них..

...