(Django with Docker) Gunicorn 써보기

Posted by : at

Category : Django


기존 Deploy 방식의 문제는 python manage.py runserver에 있다. 이 방식은 디버깅용이지 릴리즈(배포)용은 아니기 때문이다.

수정해 보자.

Gunicorn

django내에 설치하며 runserver를 대체한다.

Nginx <-> gunicorn <-> django

$ pip install gunicorn
$ pip freeze > requirements.txt
FROM python:3.10.0

WORKDIR /home/

RUN git clone https://github.com/EasyCoding-7/django-basic-example.git

WORKDIR /home/django-basic-example/

RUN pip install -r requirements.txt

RUN pip install gunicorn

RUN echo "SECRET_KEY=django-insecure-z+6ry2y*usa_5n3c7)h&26$j-)@7j+iu!odo(nx=ts-h@o&oip" > .env

RUN python manage.py migrate

EXPOSE 8000

CMD ["gunicorn","pragmatic.wsgi", "--bind", "0.0.0.0:8000"]

RUN pip install gunicorn를 굳이 넣는이유는 컨테이너 아래서 빌드하다보니 캐쉬로 지난 도커빌드정보가 남는다.


도커 이미지 생성

컨테이너 생성 후 실행

스타일이 모두 깨진다?? -> Nginx로 해결해야한다.(다음강)


About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links