장고 도커를 이용한 배포(Nginx, Gunicorn)

Sam (토론 | 기여)님의 2022년 7월 5일 (화) 14:05 판 (새 문서: == 개요 == 파이썬부터. == 사전작업 == {| class="wikitable" |+ !과정 !설명 !방법 |- |requirements.txt 제작 |해당 환경에서 다음 명령을 진행하자. |pip...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

파이썬부터.

2 사전작업

과정 설명 방법
requirements.txt 제작 해당 환경에서 다음 명령을 진행하자. pip freeze > requirements.txt
도커, 도커 컴포즈 설치

3 파이썬 도커파일 제작

확장자 없이 Dockerfile을 제작한다.

FROM python:3.6.0-alpine  # 사용하고 싶은 버전을 쓰자.
WORKDIR /app  # 명령이 실행될 기본 경로
ENV PYTHONDONTWRITEBYTECODE 1  # .pyc 파일은 만들지 않는다.
ENV PYTHONUNBUFFERED 1  # 파이썬 로그 버퍼링 없이 즉각출력.
COPY ../ /app  # 상위 경로의 파일들을 컨테이너 안의 /app 으로 옮긴다.
RUN pip install --upgrade pip
RUN pip install --upgrade -r requirements.txt

4 docker-compose.yml 파일 제작

version: '3'

services:
    django:
        build: .  # 현재 위치의 도커파일을 사용하겠다는 의미.
        command: python manage.py runserver 0.0.0.0:8000  # 장고를 실행시킨다.
        command: gunicorn --bind 0:8000 config.wsgi:application  # wsgi 파일 위치에 따라 다르게.
        volumes:
            - ../:/app  # 파이썬 도커파일에서 복사한 것을 /app에서 그대로 연결하여 사용한다.