개발자

SpringBoot와 MySQL 도커 배포 과정에서 계속 오류가 발생합니다.

2024년 05월 18일조회 395

선배님들 안녕하십니까? 제목 그대로 스프링부트와 MySQL 배포 과정에서 HikariPool-1 - Exception during pool initialization. server-1 | server-1 | java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 위와 같은 오류가 발생합니다. MySQL은 정상적으로 배포가 되어서 접근이 가능한 것을 확인했습니다. 하지만, SpringBoot의 경우, 계속 DB와 연결이 실패합니다. 아래는 SpringBoot의 application.properties 파일과 docker-compose.yml 파일입니다. 한 수 가르쳐주셨으면 합니다. 감사합니다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=${SPRING_DATASOURCE_URL} spring.datasource.username=${SPRING_DATASOURCE_USERNAME} spring.datasource.password=${SPRING_DATASOURCE_PASSWORD} spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

김인후님의 프로필 사진

컴포즈에서 스프링 부트에 환경변수 넣는 부분에서 db 포트를 3306으로 넣어보시겠어요?? 아마 컨테이너 이름으로 접근하면 내부 포트를 적어야할 겁니다.

profile picture

익명

작성자

2024년 05월 18일

감사합니다 ㅠㅠㅠ 덕분에 잘 돌아갑니다 ㅠㅠ 로컬에서 33061 포트로 DB 접근이 가능해서 계속 33061로 했었는데, 이게 원인이었네요 .... 정말 감사합니다. 그런데 혹시, MySQL을 33061:3306으로 열었다면, 왜 로컬에서는 33061 포트로 접근이 가능한지 여쭤봐도 괜찮을까요 ?

김인후님의 프로필 사진

김인후

software engineer2024년 05월 18일

연결을 localhost로 하게 되면 외부에서의 접근이기에 33061 -> 3306이라 33061로 접근하는 거가 맞지만 컨테이너 이름으로 접속 시도 시의 내부 포트로 바로 접근하게 되기에 3306으로 해야합니다!

profile picture

익명

작성자

2024년 05월 18일

너무나도 감사합니다. 선배님 !!! 덕분에 궁금증이 해결되었습니다 ! 좋은 주말 보내십쇼 !

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!