Не прокидываются проперти в docker-compose
Суть такая, хочу раворачивать свой проект в докер, а проект состоит из несколько микросервисов, в docker compose описана конфигурация keycloak, и если запускать приложение на localhost то он спокойно подключается к keycloak по localhost. Так вот теперь потребность в настройке моего приложения в докере, в докере же оно должно получать доступ к keycloak не через localhost, а через имя контейнера. Я пытаюсь билдить приложение на вот такой конфиурации:
spring:
data:
mongodb:
uri: mongodb://localhost:27017/task
application:
name: task-service
security:
oauth2:
client:
registration:
keycloak:
client-id: task-client
client-secret: GRnfhjeldW0UhTo0R22M8qi3gGxzYOXt
scope: openid, profile
authorization-grant-type: authorization_code
provider:
keycloak:
issuer-uri: http://localhost:8180/auth/realms/task-realm
user-name-attribute: preferred_username
resource-server:
jwt:
issuer-uri: http://localhost:8180/auth/realms/task-realm
jwk-set-uri: http://localhost:8180/auth/realms/task-realm/protocol/openid-connect/certs
При том билд требует что бы keycloak был запущен, иначе билд не соберется И потом в docker-compose переопределяю эти урлы подключения на урлы docker контейнеров
task:
image: task-service
container_name: task-service
ports:
- '8082:8082'
environment:
- SPRING_DATA_MONGODB_URI=mongodb://mongodb:27017/task
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://eureka-server:8090/eureka
- SPRING_SECURITY_OAUTH2_PROVIDER_KEYCLOAK_ISSUER_URI=http://keycloak:8180/auth/realms/task-realm
- SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://keycloak:8180/auth/realms/task-realm
- SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak:8180/auth/realms/task-realm/protocol/openid-connect/certs
- SPRING_RABBITMQ_HOST=rabbitmq
- SPRING_RABBITMQ_VIRTUAL_HOST=vhost
depends_on:
- eureka
- mongodb
- keycloak
- rabbitmq
networks:
- task-management
При "docker-compose up" task-service падает с ошибками из-того что не могу подключиться к keycloak потомучто он пытается подключить через localhost, хотя я переопрделяю в docker-compose на keycloack. Така я же проблема с Open Feign Client Не получается стартовать из-за того что он не может найти сервис на который ссылается. Подскажите может кто знает что я не так переопределяю, или же как билдить jar-ник так что бы игнорировалась внешняя связь по типу keycloak? К примеру вот когда я переопределяю mongo url то он переопределяется Вот Dockerfile
FROM eclipse-temurin:17-jre as builder
WORKDIR workspace
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} task-service.jar
RUN java -Djarmode=layertools -jar task-service.jar extract
FROM eclipse-temurin:17-jre
WORKDIR workspace
COPY --from=builder workspace/dependencies/ ./
COPY --from=builder workspace/spring-boot-loader/ ./
COPY --from=builder workspace/snapshot-dependencies/ ./
COPY --from=builder workspace/application/ ./
ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]