2017-01-05 9 views
2

Я запускаю несколько экземпляров MySQL, используя докер. Я планировал использовать nginx как обратный прокси-сервер, я хочу назначить публичный IP для каждого экземпляра, чтобы я мог сопоставить публичный ip с моей сетью докеров, возможно ли это?Несколько общедоступных IP-адресов для одного Nginx?

ответ

2

Вы можете использовать консул с частью реестра, поскольку Consul предлагает Вам DNS-сервер для всех зарегистрированных случаев: https://www.consul.io/docs/agent/dns.html

Более или менее, что означает, что экземпляры Докера регистрацию с консулом и консул может разрешить их также для внешних служб. Это потребует от вас более одного публичного IP-адреса.

Если вы хотите только один общедоступный ip, вы, очевидно, хотите загрузить баланс mysql, поскольку TCP-соединения не могут быть «маршрутизированы» по пути/домену. Тем не менее, вы можете использовать консул как сервис-открытие и брандмауэр для консоль + консул для генерации конфигурации nginx для восходящего потока, перечисляя все текущие доступные серверы.

+0

ваше право Я хочу использовать несколько публичных IP-адресов для общения с моим сервером Nginx, чтобы я мог направлять каждую публикацию на экземпляр докера. Я буду смотреть на Консула, спасибо. – thisisms

1

Вы можете просто использовать зарезервированные IP-адреса из своего личного адресного пространства для контейнеров-докеров, сделать свой экземпляр nginx маршрутизируемым из Интернета, установив общедоступный ip, и, наконец, вы можете загружать запросы на баланс в свои контейнеры докеров.

+0

thank. Я не хочу использовать балансировщик нагрузки. Я пытаюсь использовать Nginx как общедоступный IP-сервер перехода. – thisisms

+0

- это именно то, что нужно для балансировки нагрузки, независимо от того, используете ли вы TCP или HTTP-соединения. –