0
votes

I got troubles get Zuul working with a dockerized Spring boot app. It seems Zuul is not able to proxy requests to the target application (gis_import_export) even if it is up and running.

My Zuul based Spring app configuration:

spring:
  banner:
    location: classpath:banner.txt
zuul:
  debug:
    request: true
  routes:
    ie:
      url: http://gis_import_export:8080
    geoserver:
      url: http://geoserver:8080
    geonetwork:
      url: http://geonetwork:8080

ribbon:
  eureka:
    enabled: false

and my docker-compose.yml file:

version: "3"

services:
  geoserver:
    image: kartoza/geoserver
  geonetwork:
    image: geonetwork
  postgres:
    image: postgres
    environment:
      - POSTGRES_DB=xxx
      - POSTGRES_PASSWORD=xxx
      - POSTGRES_USER=xxx
  gis_import_export:
    image: gis_import_export:develop
    ports:
      - 8888:8080
  zuul:
    image: gis_api_gateway:develop
    ports:
      - 8080:8080

I'm able to have geonetwork/geoserver proxied correctly via Zuul service exposed port but I'm stuck with getting with Spring boot app seems not get proxied. By the way, the dockerized Spring boot apps works as expected if accessed via the 8888 port and via Zuul if zuul itself is not deployed via Docker.

Running a ping/telnet to dockerized spring boot app inside the Zuul docker container works as expected, so names are being resolved correctly.

Ideas?

Thanks, FB

1

1 Answers

0
votes

Your services running in different docker networkds. You have to specify same network in two files network.

And of course it will be good if you specify hostname parameter for each container