Контейнеры док-станции Keycloak не могут обнаружить друг друга - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть два экземпляра keycloak, запущенных на контейнере, каждый из которых работает на одном узле.Узлы - это железные узлы внутри сети моей компании.

keycloak использует TCPPING в качестве протокола обнаружения.

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

Я сказал сеть по умолчанию для докера, потому что я не указал специальную сеть для двух контейнеров.

Любая идея, как я могу сделать два экземпляра в этомархитектурный дизайн узнавать друг друга!

и я думал о доке Роем как о решении.

1 Ответ

0 голосов
/ 24 февраля 2019

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

Это будеттак же просто, как docker run --net=host

Сеть хоста Docker заставляет контейнер использовать сеть хост-узла и, таким образом, будет назначать IP-адрес сервером DHCP, используемым хост-узлом, и для всех практических целейвыглядеть как другой хост в этой сети.

Это позволяет двум контейнерам обнаруживать друг друга с помощью TCPPING

Рой Docker также включил бы это. Рок Docker в основном абстрагирует несколько узлов хоста, так что вы можете контейнерына них, как будто вы запускаете докер на одном хосте.Но для этого потребуется docker-machine и совершенно новые настройки.

...