Zuul не перенаправляет вызов в службу весенней загрузки на Docker-контейнере

Я новичок в докере. Я пытаюсь получить доступ к сервису весенней загрузки через URL-адрес Zuul, используя Docker-контейнеры. Я поместил в контейнер базу данных, сервис весенней загрузки, сервер eureka и шлюз Zuul. Без докеризации zuul может прокси-запрос к желаемой службе, используя URL хоста.

PS Служба весенней загрузки и шлюз zuul регистрируются на сервере eureka в докере. Ниже приведена конфигурация шлюза Zuul:-

zuul.routes.vehicle.url=http://hostname:9010

Я также пытался,

zuul.routes.vehicle.serviceId=vehicle (i.e. eureka serviceId)
zuul.routes.vehicle.stripPrefix=false

с:-

ribbon.eureka.enabled=true

Оба не работают в моем случае. Я вижу, как PreFilter и Postfilter Zuul попадают в журналы, но пересылка не происходит.

Я поднял службу Zuul, как это:

docker run -it -p 9001:9001 --name zuulservice --link vehicleservice -d zuulservice bash

Я пытаюсь получить доступ к ресурсу, как это:

 http://localhost:9001/vehicle/resource

Я что-то пропустил?? Я использую Docker 17.12

1 ответ

Связывание контейнера является устаревшей функцией, избегайте его использования, создавайте собственную сетевую карту или используйте сеть по умолчанию, делая

docker network ls 

дает тебе

NETWORK ID          NAME                DRIVER              SCOPE
634e05482aba        bridge              bridge              local
d2dfea98cab4        host                host                local
faf2f1516987        none                null                local

скажем, мы выбираем сеть хоста,

разверните свой контейнер непосредственно в сети хоста, они смогут общаться друг с другом, команда будет

docker run -itd --network=host --name myZuulContainer <image name>

сделать это для всех контейнеров

Вот и все, дайте мне знать, если это работает,

Другие вопросы по тегам