작성
·
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
안녕하세요 zzzzz님! 궁금해하실 법한 부분을 잘 질문해주셨네요~!!
여기서 ./gradlew clean
까지는 이해가 되지만, gradlew build
를 실행하면 아직 DB가 연결되지 않은 상태에서 JAR 파일이 빌드되는 것이므로 오류가 발생해야 하는 게 아닌가 하는 의문이 들었습니다.
-> JAR 파일을 빌드할 때는 DB에 연결을 시킨 채로 빌드를 하지 않습니다! 빌드 작업은 Spring Boot 프로젝트를 '실행'시키는 작업이 아닌, Spring Boot 프로젝트를 '압축'하는 작업이라고 생각하시면 좋을 것 같습니다! 그런 뒤에 빌드 된 JAR 파일을 실행시킬 때, 그때서야 DB와 연결을 하게 됩니다!
여기서 또 궁금하신 점 있으시면 댓글 남겨주세요~~