강의

멘토링

로드맵

Inflearn brand logo image

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

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

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

도커 컴포즈 질문있습니다.

작성

·

58

0

안녕하세요.

현재 Docker Compose를 활용하여 여러 개의 컨테이너를 다루는 강의를 수강 중입니다. 섹션 6, "Docker Compose를 활용해 2개 이상의 컨테이너 관리하기"의 마지막 파트를 듣고 있습니다.

다름이 아니라, 강의를 따라 실습하던 중 궁금한 점이 생겨 이렇게 문의드립니다.
현재 Docker 환경에는 DB와 Redis가 구성되어 있는데요,

$ ./gradlew clean build

$ docker compose down

$ docker compose up --build -d

위와 같은 순서로 명령어를 실행하였습니다.
여기서 ./gradlew clean까지는 이해가 되지만, gradlew build를 실행하면 아직 DB가 연결되지 않은 상태에서 JAR 파일이 빌드되는 것이므로 오류가 발생해야 하는 게 아닌가 하는 의문이 들었습니다.

그래서 오히려 docker compose up --build -d 명령어로 컨테이너를 먼저 실행시킨 다음에, ./gradlew clean build를 실행하는 것이 더 맞는 순서가 아닐까 하는 생각이 드는데요.

혹시 이에 대해 설명해주실 수 있을까요?

감사합니다.

답변 1

0

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

안녕하세요 zzzzz님! 궁금해하실 법한 부분을 잘 질문해주셨네요~!!

여기서 ./gradlew clean까지는 이해가 되지만, gradlew build를 실행하면 아직 DB가 연결되지 않은 상태에서 JAR 파일이 빌드되는 것이므로 오류가 발생해야 하는 게 아닌가 하는 의문이 들었습니다.

-> JAR 파일을 빌드할 때는 DB에 연결을 시킨 채로 빌드를 하지 않습니다! 빌드 작업은 Spring Boot 프로젝트를 '실행'시키는 작업이 아닌, Spring Boot 프로젝트를 '압축'하는 작업이라고 생각하시면 좋을 것 같습니다! 그런 뒤에 빌드 된 JAR 파일을 실행시킬 때, 그때서야 DB와 연결을 하게 됩니다!

 

여기서 또 궁금하신 점 있으시면 댓글 남겨주세요~~

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

질문하기