У меня есть рой, созданный двумя узлами, одним менеджером и одним рабочим. Я хотел бы иметь порт, опубликованный в рое, поэтому я могу получить доступ к своим приложениям, и мне интересно, как я это достигаю.docker deploy не будет публиковать порт в рое
version: '2'
services:
server:
build: .
image: my-hub.company.com/application/server:latest
ports:
- "80:80"
Это открывает порт 80, когда я бегу докер-компоновать и она работает просто отлично, но когда я запустить в комплекте развернуть
docker deploy my-service
Это не публикуете порт, поэтому он просто говорит, 80/tcp в docker ps, вместо указания на порт. Возможно, это связано с тем, что мне нужно подключить балансировщик нагрузки или запустить какую-нибудь причудливую команду или, возможно, добавить еще один уровень конфигурации, чтобы фактически разоблачить этот порт в роли нескольких хостов.
Может кто-нибудь помочь мне понять, что мне нужно для настройки/сделать, чтобы это отображало порт.
Моим лучшим сценарием будет то, что порт 80 будет открыт, и если я получу доступ к нему из разных имен хостов, он отправит меня в разные приложения.
Update: Это похоже на работу, если я выполнить следующие команды после развертывания приложения
docker service update -p 80:80 my-service_server
docker kill <my-service_server id>
Я нашел этот репозиторий для запуска прокси-HA, он кажется большим и поддерживается сам грузчиком, однако я как представляется, не применяют это отдельно от моих сервисов, используя новый режим роя.
https://github.com/docker/dockercloud-haproxy
Там хорошее описание в нижней части описания того, как сеть должна выглядеть:
Internet -> HAProxy -> Service_A -> Container A
Однако я не могу найти способ связать услуги через службу Docker создать команду, оптимально теперь выглядит следующим образом способ настроить сеть, и когда я применяю эту сеть к службе, она подберет ее в HAProxy.
- Марк
Что делать, если я не хочу, чтобы мой сервис отображал порт как «опубликованный порт» (публично вне рой), но я хочу разоблачить его внутри (внутри рой) для этой службы, которая будет использоваться другими службами в рой. –
Тогда вам не нужно ничего делать. Это поведение по умолчанию, пока все службы находятся в сети по умолчанию, или все они присоединяются к одной сети. – dnephin