2015-04-06 2 views
1

У меня есть сервер GCE (Google Compute Engine), работающий с веб-сервером Nginx/Apache на порту 80, который будет обслуживать веб-сайт. В то же время у меня несколько микросервисов, работающих на том же сервере, что и контейнеры Docker. Каждый контейнер будет обслуживать веб-сайт в соответствующем локальном IP-адресе, а также привязывать его к localhost: PORT. Я не хочу связывать порты с адресом Public-IP, так как он будет публично раскрывать микросервисы для внешнего мира.Управление и использование нескольких контейнеров-докеров (микросервисов) на одном сервере

Теперь проблема заключается в том, что я должен внедрить страницы веб-сайта, обслуживаемые контейнерами, на веб-сайт, который работает на порту 80 веб-сервера. Поскольку код для встраивания, который мы выполнили с помощью браузера, я не могу использовать локальный-IP (172.17.0.x) или localhost: PORT в коде python/HTML.

Теперь как вставлять страницы микросервисов, работающих локально внутри контейнеров, на веб-сайт, обслуживающий пользователей?

Для примера:

Public IP моего сервера: 104.145.178.114 Сайт обслуживается: 104.145.178.114:80 Внутри же сервере мы имеем несколько microservices работающих в локальном-IP, например 172.17.0.1 и 172.17.0.2 и так далее. В каждом контейнере будет работать сервер внутри себя, который будет содержать страницы сервера 172.17.0.1:8080/test.html и аналогичным образом для других контейнеров. Теперь мне нужно вставить эту страницу test.html на другую веб-страницу, которая обслуживается веб-сервером Nginx/Apache по адресу 104.145.178.114, не подвергая публичный доступ к внутреннему/локальному IP-порту.

Я хотел бы услышать предложения и альтернативные решения этой проблемы

+0

Ребята, пожалуйста, задавайте вопросы. Если вы не можете понять или если что-то не так во всем, что я спросил. Просто вниз Голосование мой вопрос НЕ очень помогает. –

ответ

1

Я предполагаю, что Nginx имеет доступ ко всем внутренним докеров изобр (microservices). Если я что-то не хватает, proxy_pass (http://nginx.org/en/docs/http/ngx_http_proxy_module.html) должен работать на вас. Вы могли бы принять определенный (внешне доступный) шаблон url для прокси-сервера в ваш контейнер для микросервиса, не подвергая порт микросервиса миру.

Смежные вопросы