Веб-вызовы между мостовыми док-контейнерами - PullRequest
0 голосов
/ 10 мая 2019

В качестве аргумента предположим, что у меня есть 2 службы, работающие в 2 отдельных контейнерах.Давайте назовем их службой A и службой B. Служба B размещает веб-службу и делает ее видимой для внешнего мира через -p 8080: 8080.Внешний мир без проблем вызывает этот веб-сервис.Однако службе A также необходимо вызвать веб-службу, размещенную службой B. Вот что я пробовал:

Создать мостовую сеть

docker network create my-network

Запустить контейнеры, подключенные к этой сети

docker run --net=my-network service-a
docker run --net=my-network -p 8080:8080 service-b

Проверить участие в сети

docker network inspect my-network    BOTH SERVICES CONNECTED!!

За пределами контейнера

http://127.0.0.1:8080/someMethod     THIS WORKS!!!

Из службы-а

http://my-network:8080/someMethod    THIS DOES NOT WORK!!

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

При условии вышеуказанной конфигурации докера, она будет работать следующим образом:

создать псевдоним для service-b в команде запуска Docker

docker run --net=my-network --network-alias service-b-hostname -p 8080:8080 service-b

ссылка на эту услугу

http://service-b-hostname:8080/someMethod
0 голосов
/ 10 мая 2019

Какой IP-адрес хоста, на котором работает докер? Например, допустим, что это 10.0.1.5. Из-за пределов докера И из контейнера для другой службы (service-a) вы можете подключиться к service-b с помощью

http://10.0.1.5:8080

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

http://service-b:8080

Справочная информация:

Я могу ошибаться, но по умолчанию, когда вы используете мостовую сеть, внешний IP-адрес вашего хост-компьютера «расширяется» до докера. Используя параметр -p, вы привязываете порт док-станции к хосту. Контейнер теперь будет доступен по адресу:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...