Как перенаправить трафик на серверные реплики nodejs express в режиме Docker Swarm с помощью nginx? - PullRequest
0 голосов
/ 11 ноября 2019

Я использую nginx в качестве обратного прокси-сервера. Предположим, я запускаю два контейнерных узла js express server через порт 8001 и 8002.

Так что я могу использовать конфигурацию nginx примерно так

http {
  upstream myproject {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;    
  }

  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass http://myproject;
    }
  }
}

Теперь я пытаюсь сделать следующее:Предположим, у меня есть только один сервер (для справки: сервер 8001). И я пишу свой файл docker-compose примерно так

version: "3.7"

services:
  app:
    image: test
    build: .
    container_name: test
    ports:
      - "8001:8001"
    deploy:
      replicas: 5
    command: ['npm', 'start']

Итак, теперь нужно создать 5 реплик, но я не получаю, как я сконфигурирую свой nginx для этих 5 реплик, так как все 5 реплик не могутиспользовать один порт: 8001? Я полагаю, что я испортил некоторую концепцию докера. Моя конечная цель - развернуть [n] реплики моего узла js express server и направить трафик на эти серверы с помощью nginx. Мне нужна помощь с концепцией.

...