도커 컴포즈 질문있습니다.
74
작성한 질문수 192
안녕하세요.
현재 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와 연결을 하게 됩니다!
여기서 또 궁금하신 점 있으시면 댓글 남겨주세요~~
EC2 터미널에서 docker pull
0
62
2
AWS ECR
0
57
2
FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다
1
98
2
Redis 볼륨 설정?
0
114
2
컨테이너의 IP
0
79
2
도커 이미지를 만들 때 application.yml
0
101
2
compose.yml 관리
0
86
2
ECR 리포지토리에 이미지가 3개가 보입니다.
0
76
2
액세스 키 등록하는 시점 관련 질문이 있습니다.
0
82
1
depends_on에 따른 컨테이너 실행 순서
0
75
2
실제 웹 서비스 배포 시 질문
0
80
2
도커 volume 질문
0
66
3
HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?
0
71
2
sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?
0
71
2
39강 도커파일 빌드 경로 질문이 있습니다.
0
67
2
도커파일 copy
0
69
2
실무에서 docker compose up --build를 할 때
0
183
2
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
0
83
2
도커 허브에서 postgres 버전 확인하는 법
0
127
2
보충 자료와도 관련된 추가 내용
1
81
1
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
0
108
2
노션 자료에 안 보이는 이미지가 있습니다
0
99
1
도커 허브에서의 latest가 가장 최신인 게 맞나요?
0
118
2
docker image ls 실행 시 나오는 내용이 다릅니다
0
86
2





