У меня есть докерный рой с 2 узлами, работает 4 службы. Проблема в том, что я хочу разоблачить эти 4 службы через общедоступный IP-адрес через порт 80. Я знаю, что могу использовать субдомен и прокси-сервер для маршрутизации трафика для каждой службы, но есть ли другое решение?Доступ к сервису из докерного роя от общественности
0
A
ответ
1
Если вы не вводите прокси-сервер, ваши службы должны будут прослушивать разные порты. Вы не можете заставить их всех слушать 80.
Если ваши службы прослушивают разные порты, они будут доступны через ip-адрес узла1 или node2, независимо от того, на каком узле находятся контейнеры службы. Swarm будет разрешать ваш контейнер на любом узле.
Например, предположим, что у вас есть служение, слушая порт 82, и что он имеет только один контейнер (1 задача) на узле2. Любой запрос к node1: 82 или node2: 82 будет перенаправлен в этот контейнер.