Spring Boot/MSA

eureka client 설정 in docker-compose

최-코드 2024. 9. 22. 14:42

상황 : eureka client와 eureka server 모두 이미지화하고 이제 docker-compose로 한 번에 실행했더니 에러가 발생했다.

 

원인

eureka.client.service-url.defaultZone=http://localhost:8761/eureka
  • 환경변수가 위와 같이 설정되어 있기 때문에 유레카 서버를 찾지 못했다.
  • 왜냐하면 도커로 실행하면 컨테이너 별로 내부 IP를 각각 받기 때문에 localhost를 통해 접근할 수 없다.

 

해결책 : 아래와 같이 docker-compose에서 환경 변수 설정을 해주면 된다.

environment:
  - eureka.client.serviceUrl.defaultZone=http://naming-server:8761/eureka
//  naming-server는 컨테이너 명