Как выставить несколько docker-compose конвейеров на доступных портах? - PullRequest
0 голосов
/ 16 января 2019

У меня есть конвейер docker-compose, который управляет определенными контейнерами (nginx на порту 8000 для статических ресурсов и направляет другие запросы к внутреннему контейнеру, выполняющему django на gunicorn). Я пытаюсь запустить несколько экземпляров этого конвейера docker-compose. Единственная абстракция, которую мне удалось найти - это -p option, который определяет идентификатор, основанный на имени проекта. Однако он не сможет раскрутить другой экземпляр конвейера компоновки, поскольку порт 8000 будет использоваться первым экземпляром. Каков наилучший вариант для достижения этой цели?

Я не думаю, что replicas или scale - это то, что я ищу.

Я хочу получить доступ к <IP_ADDRESS>:8001 для экземпляра docker-compose 1, <IP_ADDRESS>:8002 для экземпляра docker-compose 2 и так далее. Это даже хороший подход?

К сожалению, в этом сценарии приложение django не предназначено для работы с несколькими пользователями веб-приложения. Отсюда необходимость альтернативной стратегии для мультиплексирования соединений и связывания пользователя с выполнением всего конвейерного соединения.

1 Ответ

0 голосов
/ 16 января 2019

Если у вас есть Eureka / Zuul, я думаю, что - масштаб будет лучшим вариантом, так как он будет распределять нагрузку с разбивкой по кругам, а порт, на котором он работает, не имеет значения.

Если вы хотите указать номер порта, то, я думаю, вам придется вручную установить номер порта expose или написать сценарий решения, ищущего следующий доступный номер порта в последовательности. Я думаю, что это дерьмовый подход, однако.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...