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>
сделать это для всех контейнеров
Вот и все, дайте мне знать, если это работает,