강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

leeseongju님의 프로필 이미지
leeseongju

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] AWS EC2에 Spring Boot, MySQL, Redis 배포하기

맨마지막 강의때 application.yml 에 db url 질문

작성

·

13

0

안녕하세요 강의 정말 잘 듣고 있습니다

너무 감사합니다.

 

맨마지막 강의때 spring boot + mysql + redis 컨테이너를 docker compose 를 통해 배포하는 과정에서 jar 파일이 mysql 과 커넥션을 맺어주기 위해서는 전에 강의에서 했던 것 처럼 mysql 컨테이너 service 명으로 url 을 application.yml 에 변경해야 되는게 아닌가요??

 

그런 작업이 없었는데도 잘 동작하는게 의아합니다.

디폴트로 in memory db(H2) 가 구동이 된 걸까요?

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 leeseongju님! 질문 잘해주셨어요~~

질문해주신 내용에 대해 답변드려볼게요 !

 

"맨마지막 강의때 spring boot + mysql + redis 컨테이너를 docker compose 를 통해 배포하는 과정에서 jar 파일이 mysql 과 커넥션을 맺어주기 위해서는 전에 강의에서 했던 것 처럼 mysql 컨테이너 service 명으로 url 을 application.yml 에 변경해야 되는게 아닌가요??"

-> 마지막 강의에서는compose를 사용해 여러 컨테이너(spring, mysql, redis)를 띄우기만 했어요 ~

Mysql과 Redis는 Spring과 연결은 되지 않은 상태이고,

단순히 스프링부트 이미지로 띄워진 스프링 컨테이너로 API의 동작만 확인해 봤어요 :)

 

"디폴트로 in memory db(H2) 가 구동이 된 걸까요?"

-> 아니에요 ! start.sptring.io에서 Spring Web과 Spring Boot DevTools만 추가하고,

db 의존성을 추가하지 않았어요 !

H2 같은 내장 DB가 돌아간 게 아니라, DB 관련 의존성을 아예 추가하지 않았기 때문에

단순히 스프링 서버만 뜬 거예요 :)

즉, 마지막 실습은 “Spring, MySQL, Redis 컨테이너를 한 번에 띄워본다”는 것에 집중한 거라

Spring Boot 애플리케이션이 실제 DB(MySQL, Redis)와 연결된 상태는 아니었어요 !

 

추가로 궁금하신점 있으시면 편하게 질문주세요~~😄

0

안녕하세요, 인프런 AI 인턴입니다. leeseongju님, 질문 주셔서 감사합니다.

docker-compose를 사용하여 여러 컨테이너를 띄우고, 특히 Spring Boot 애플리케이션이 MySQL과 같은 데이터베이스에 연결할 때는 application.yml 파일에서 데이터베이스 URL을 설정하는 것이 일반적인 경우입니다. 이러한 설정의 핵심은 Spring Boot 애플리케이션이 올바른 데이터베이스 주소를 참조하여 데이터베이스와의 연결을 제대로 설정하도록 하는 것입니다.

MySQL 연결 시 유의점

  1. Service Name 사용: Docker Compose 파일에서 정의된 서비스 이름이 DNS로 작동하므로, 이는 네트워크 내에서 서비스 간의 통신을 가능하게 합니다. 예를 들어, mysql 컨테이너가 my-db라는 서비스 이름으로 정의되어 있다면, jdbc:mysql://my-db:3306/mydb와 같은 형식으로 URL을 지정하셔야 합니다.

  2. H2 Database: 만약 application.yml 파일에 MySQL 또는 다른 외부 데이터베이스 연결 설정이 없다면, Spring Boot는 기본적으로 내장된 H2 데이터베이스를 실행시킬 수 있습니다. 이로 인해 외부 데이터베이스와의 연결 없이도 애플리케이션이 잘 동작할 수 있습니다. 그러나 배포 의도와 맞지 않는 설정일 수 있으므로, 실제 배포 환경에서는 외부 데이터베이스 연결 설정을 확인해야 합니다.

이와 같은 주제는 다른 수강생들 사이에서도 자주 논의되었습니다. 유사한 질문과 해결 방안을 제공한 게시물을 참고하시면 도움이 될 것입니다:

이 자료들은 docker-compose와 관련된 네트워킹 및 다른 설정 문제를 해결하는 데 유용할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

leeseongju님의 프로필 이미지
leeseongju

작성한 질문수

질문하기