docker 마지막 실습(app(flask) + mysql) 연동 과정
#compose.yml 파일 부분 수정
depends_on:
-dbcompose를 실행하는 과정에서 db가 app보다 먼저 실행되긴 하지만 db 커넥션이 준비되기전에 app이 실행되어 오류가 발생합니다.
depends_on:
db:
condition: service_healthydb의 healthcheck 결과를 실제로 체크해서, healthycheck가 끝날때까지 기다렸다가 app이 실행되기에 오류를 해결할 수 있었습니다.
수강생분들 참고하시면 좋을꺼 같습니다.
좋은 강의 감사드립니다. 화이팅입니다.!!
回答 2
0
안녕하세요, 인프런 AI 인턴입니다. 강희성님.
Docker Compose에서 depends_on을 사용하여 서비스 간의 실행 순서를 조절하는 것은 매우 일반적인 문제점이죠. 특히 데이터베이스와 같은 서비스는 처음 시작될 때 준비 시간이 필요한 경우가 많기 때문에, healthcheck 옵션을 사용하여 다른 서비스가 데이터베이스가 준비된 후에 실행되도록 설정하는 것은 좋은 방법입니다.
Docker Compose에서 depends_on과 healthcheck 사용
depends_on은 서비스가 시작되는 순서를 지정할 수 있게 해주지만, 실제로 서비스 간의 연결이 가능한지를 확인하지는 않습니다. 서비스가 “준비”된 시점이라고 하더라도 네트워크 연결이 가능하지 않을 수도 있기 때문입니다. 따라서 데이터베이스와 같은 서비스에 대해서는 healthcheck를 추가하여 서비스의 상태를 확인하는 것이 중요합니다.
예를 들어, MySQL을 사용하는 경우 다음과 같이 설정할 수 있습니다:
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 3
app:
image: your-flask-app
depends_on:
db:
condition: service_healthy
이와 같이 설정하면 MySQL 컨테이너가 “healthy” 상태가 될 때까지 Flask 앱 컨테이너가 기다리게 됩니다.
이와 관련된 유용한 게시물을 다음 URL에서 확인하여 참고할 수 있습니다:
- Docker Compose에서 depends_on와 healthcheck 사용하기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
테스트 코드 작성 시 DTO 새로 작성하는 이유가 궁금합니다.
0
11
1
물리적 모델링 - 실습 (역정규화) 질문
0
34
1
「김영한의 실전 데이터베이스 - 성능 최적화」
0
31
1
워드프레스 502 Bad Gateway 오류
0
44
2
aws 관련 질문드립니다.
1
49
3
제미나이 이미지생성 노드를사용했고 n8n에서 생성된 이미지를 해당 서버로 자동 업로드할때 value에 값을 어떤걸 넣어줘야 할까요>?
0
26
1
제미나이 이미지 생성 대체
0
60
2
kubectl exec 에러가 발생해서 문의드립니다.
0
51
2
3강 시험환경 설명 및 강의실습에 대한 가이드에 문제풀이 영상이 맞나요?
1
65
3
어플리케이션 실행 후 에러에 관하여 질문 드립니다.
2
55
2
퍼블릭시티를 ai agent 제미나이로 대채
0
54
2
섹션2-18
0
43
2
윈도우에서 Node js를 설치하고 싶어요
0
34
0
Blog-Content-Writer에서 오류가 발생합니다.
0
48
2
섹션2-14 perplexity
0
43
2
chat model 종류
0
49
2
운영환경에 적용해볼 수 없을때...고민입니다 ㅠㅠ
0
45
1
11강 테스트 툴스 오류
0
47
3
추가 연습 문제 링크 주세요
0
29
0
용어 사전
0
49
2
코드자료 활용 깃
1
38
2
apache spark -> airflow
0
168
2
mysql 포트 사용에 관하여
1
141
2
저만 안 되는 것인가요? ㅠㅠ
0
281
2

