도커 컴포즈 셋팅을 하고 돌려 보면 mysql, redis 띄운 컨테이너들은 연결이 되지만
스프링부트를 실행해보면 어제부터 계속 동일한 오류가 발생한다.
일단 에러의 원인은 db 연결 문제라는 것 같은데
application.properties 파일 설정 관련해서 발생한 것이라 추측중..
하지만 properties를 다르게 해봐도 계속 오류 폭탄이었다.
기술매니저님께나 다른 스터디원 분들에게도 여쭤보면서 같이 봐주셨지만 해결이 되진 않았다.
2024-08-13T09:38:26.857+09:00 WARN 12692 --- [myshop] [ main]
o.h.e.j.e.i.JdbcEnvironmentInitiator :
HHH000342: Could not obtain connection to query metadata
java.lang.NullPointerException:
Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper
.convert(java.sql.SQLException, String)"
because the return value of "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate
.sqlExceptionHelper()" is null
계속 하나씩 주석 해보면서 어디서부터 문제인지 빌드를 재차 해봤는데
이상하게도 타임리프 ?! 관련 주석처리하면 실행이 되긴 했다.
흠...?! 정확히 타임리프때문인건지는 알 수가 없었는데
왜 로컬에서는 작동하는데 도커 컨테이너로 들어갔을 땐 오류가 나는것일까 ?
도커가 어떤 환경에서든 같게 동작하게 해주려고 하는 것 같은데
왜 로컬에서랑 도커에서랑 다르게 작동한거지 ?
jar 파일을 이미지 빌드해서 한 거니까
이 도커 이미지가 에러라면 로컬에서도 부트 앱이 에러가 나야 했던게 맞지 않나 ?!....
빙글빙글
일단 지금은 컨테이너가 잘 실행되고 있긴 하다.
기능 구현을 하기 위해서 스프링은 빌드하지 않고 mysql만 띄워서 연결해서 쓰는 중
2주차에서 도커 셋팅 다시 할 때 같은 문제가 발생하는지 확인해봐야겠다 !
결론 : 정확한 원인 파악 x -> 빌드한 jar 파일 자체에서부터 이상했던 듯 ( 그 속 코드들에서 뭔가 문제 ?! )
다음에도 비슷한 오류 만나면
타임리프 관련 설정 주석 + jar 파일 빌드하기 전에 devtools는 빼고 시도하기
하나씩 주석하고 재빌드 실행하면서 원인 찾기 !
'항해 취리코 > 환경셋팅' 카테고리의 다른 글
[환경셋팅] 도커 컴포즈 관련 이슈 2 (0) | 2024.08.30 |
---|---|
[환경셋팅] 도커 컴포즈로 mysql 띄우기 (0) | 2024.08.14 |