-
[Docker] 도커 Django-MySQL docker-compose 에러(feat. dockerize)Docker 2021. 4. 28. 23:27
docker-compose로 dockerfile을 실행했을 때, DB 컨테이너가 먼저 실행되고 Web(Django)이 실행되어야 하는데
DB 컨테이너가 돌면서 MySQL 서버가 실행되기까지 Django가 기다리지 못해서 에러가 발생합니다.
web(Django)에서 MySQL 접속 실패 MySQL 정상 접속 웹 페이지 로딩 실패 이를 위한 해결 방법으로 dockerize를 사용해서 대기 시간을 걸어놓았습니다.
Backend dockerfile 내 dockerize 추가하기
- docker-compose.yml
version: '3' services: db: container_name: db build: ./Database ports: - "3306:3306" backend: container_name: back build: ./Backend ports: - "8000:8000" restart: always # 재실행 시도 frontend: container_name: front build: ./Frontend/dockerpjt ports: - "8080:8080"
- Dockerfile(Backend)
FROM python:3.8.2 ENV DOCKERIZE_VERSION v0.6.1 RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz # DB연결되기까지 20초 대기시간 걸어놓기 ENTRYPOINT ["dockerize", "-wait", "tcp://db:3306", "-timeout", "20s"]
- 이상 오늘의 삽질일기 끝!
https://ninano1109.tistory.com/129
👣 방문자 기록 사이트 토이프로젝트 회고
😎 Before We Start: Docker란? 개발 결과물(환경)에 대해 사진을 찍듯 Docker image를 빌드하고, 해당 이미지를 바탕으로 container를 실행하면 다른 어떤 컴퓨터에서도 동일한 환경을 세팅해주어 서비스를
ninano1109.tistory.com
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
'Docker' 카테고리의 다른 글
[Docker] 도커 기본 명령어 모음 (0) 2021.05.16 [Docker] docker 도커 실행 오류 및 재시작 해결 방법 (0) 2021.05.13 [Docker] Django-MySQL DB dockerfile 계정 연동하기 (0) 2021.04.28 [Docker] 도커 이미지 & 컨테이너 중지 및 삭제 (0) 2021.04.28 [Docker] Docker 도커 MySQL 버전 호환 문제(feat.Mac M1) (2) 2021.04.28