티스토리 뷰

do_it_django에서는 장고+nginx+postgresql을 사용했는데,

잘 모르는 postgresql말고 mariaDB로 바꾸고 싶어서 노가다 끝에 성공...

다음은 nginx를 apache로 바꿔봐야지...

 

docker-compose.yml 설정.

문제는 docker container로 올릴때 발생했는데...

mysqlclient 설치가 안되는 것이었다.

 

해결방법 dockerfile에 아래 세가지를 추가하고 하면 잘됨...

문제는 mysql_config이 없다고나오는데 그건 'default-libmysqlclient-dev'로 해결.

그리고 또에러가나오는데 python-dev로 해결

그리고 또 나오는데 gcc가 없다고나와서 또 설치해서 해결...

RUN apt-get install -y gcc
RUN apt-get install -y default-libmysqlclient-dev
RUN apt-get install -y python-dev

중간에 db-server도 설치해보고, db가 올라오기전에 django가 먼저올라와서 그런가해서 대기도걸어보고...

별에별짓 다했는데...

그냥 저거 세줄이면 해결되는거였다...


위내용으로하면 끝인줄알았더니 이번에는 또 다른 문제가 발생...위내용은 window개발 pc에서 진행한거였는데 문제가 없었다.

그런데 centOS7 서비스용 pc로 git pull로 땡기고 빌드하는데 계속 문제가 발생하였다.

1. 환경변수 문제.

mysql과 mariadb에서 사용하는 환경변수가 다른 문제.

윈도우에서는 왜 되는지 잘 모르겠으나, 일단 문제가 발생.

환경변수파일도 인식이 잘 안되서 아에 직접 넣어서 해결.

2. 1서버 2개 서비스 컨테이너 문제.

네트워크 통신이 잘 안되서 그냥 첫번째 서비스 올라가있는 네트워크에 붙여버렸음.

 

3. ci/cd 자동화 문제.

db가 올라오기전에 django가 올라오면서 문제가 생기는현상.

migrate가 정상적으로 되지않음...

docker-compose있는 경로에 아래 wait-for-it.sh파일을 생성및 설정.

https://github.com/vishnubob/wait-for-it/blob/master/wait-for-it.sh

docker-compose 구문 수정

서버가 먼저 올라오면안됨 마이그레이션 먼저 실행 시키고 서버올리는 순서로 작성.

대기시키는 상태 추가하여 해결...

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함