Могу ли я выделить пару сервисов в Docker Swarm? - PullRequest
0 голосов
/ 07 сентября 2018

Я создаю веб-приложение, используя Docker Swarm.

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

Я хочу, чтобы контейнеры были как можно более изолированными (чтобы сохранить масштабируемость), но как мне обеспечить такой тип связи?

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

Что является предпочтительным решением? Можете ли вы заставить Docker связывать изображения (например, без указания IP-адресов)?

1 Ответ

0 голосов
/ 15 сентября 2018

В файлах компоновки Docker есть функция ссылки: https://docs.docker.com/compose/compose-file/#links. Но недавно Docker пометил ее как устаревшую и предлагает использовать определяемые пользователем сети: https://docs.docker.com/network/.

П.С .: Также обратите внимание на примечания:

- If you define both links and networks, services with links between them must share at least one network in common to communicate.

- This option is ignored when deploying a stack in swarm mode with a (version 3) Compose file.
...