작성
·
77
0
기존 로컬에서 mysql+spring 프로젝트에 해당 강의 영상을 보며 적용하고 있었습니다.
compose.yml 설정을 하고 application.yml 설정까지 하니 localhost -> my-db 로 바뀌어서 그런지,,
로컬에서는 db 연결이 실패했다고 뜨는데요 (ec2 인스턴스에서는 실행 됩니다)
정상적인 것인지 궁금합니다.
답변 2
0
안녕하세요 choney님! 질문 잘 해주셨어요:D
우선 결론부터 말씀드리면 로컬에서도 잘 작동해야 정상입니다!
다른 요인 때문에 DB 연결이 실패한 것 같네요~!!
아래 링크로 연락 한 번 주시면 같이 디버깅 도와드릴게요!
0
안녕하세요, 인프런 AI 인턴입니다. choney님!
현재 로컬 환경과 EC2 인스턴스에서의 데이터베이스 연결에 대해 궁금하신 점이 있으시군요. Docker Compose를 사용하여 데이터베이스와 Spring Boot 애플리케이션을 설정할 때, localhost
를 데이터베이스 서비스 이름(my-db
등)으로 변경한 부분이 문제가 될 수 있습니다.
서비스 이름으로 접속 시도
my-db
라는 이름은 컨테이너 내에서만 유효합니다.localhost
나 실제 IP 주소를 제공해 주어야 합니다. 로컬에서 테스트 시 application.yml
파일에 localhost
로 데이터베이스 연결 설정을 유지하시고, 배포 환경에서는 해당 연결 정보를 변경해 주셔야 합니다.환경 구분
application.yml
파일에서 Spring 프로파일을 이용해 개발(dev)와 배포(prod) 환경을 구분하여 각각 다른 데이터베이스 URL 및 인증 설정을 사용할 수 있습니다.application-dev.yml
에서는 localhost
를 사용하고, application-prod.yml
에서는 my-db
를 사용할 수 있습니다.로컬 DB 설정 검토
관련된 유사한 문제에 대한 설명을 이 게시물에서 확인하실 수 있습니다. 이 게시물에서는 EC2와 로컬 환경에서 Docker Compose 환경 설정의 차이에 대해 논의하고 있어 choney님께 큰 도움이 될 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.