"장고 도커를 이용한 배포(Nginx, Gunicorn)"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(새 문서: == 개요 == 파이썬부터. == 사전작업 == {| class="wikitable" |+ !과정 !설명 !방법 |- |requirements.txt 제작 |해당 환경에서 다음 명령을 진행하자. |pip...) |
|||
8번째 줄: | 8번째 줄: | ||
!설명 | !설명 | ||
!방법 | !방법 | ||
+ | |- | ||
+ | |gunicorn 설치 | ||
+ | | | ||
+ | |pip install gunicorn | ||
|- | |- | ||
|requirements.txt 제작 | |requirements.txt 제작 | ||
24번째 줄: | 28번째 줄: | ||
== 파이썬 도커파일 제작 == | == 파이썬 도커파일 제작 == | ||
확장자 없이 Dockerfile을 제작한다.<syntaxhighlight lang="dockerfile"> | 확장자 없이 Dockerfile을 제작한다.<syntaxhighlight lang="dockerfile"> | ||
− | FROM python:3.6.0-alpine | + | # 사용하고 싶은 버전을 쓰자. |
− | + | FROM python:3.6.0-alpine | |
− | + | # 명령이 실행될 기본 경로 | |
− | ENV | + | WORKDIR /app |
− | + | # .pyc 파일은 만들지 않는다. | |
+ | ENV PYTHONDONTWRITEBYTECODE 1 | ||
+ | # 파이썬 로그 버퍼링 없이 즉각출력. | ||
+ | ENV PYTHONUNBUFFERED 1 | ||
+ | # 현재 경로의 파일들을 컨테이너 안의 /app 으로 옮긴다. | ||
+ | COPY ./ /app | ||
RUN pip install --upgrade pip | RUN pip install --upgrade pip | ||
− | RUN pip install | + | RUN pip install -r requirements.txt |
</syntaxhighlight> | </syntaxhighlight> | ||
43번째 줄: | 52번째 줄: | ||
command: gunicorn --bind 0:8000 config.wsgi:application # wsgi 파일 위치에 따라 다르게. | command: gunicorn --bind 0:8000 config.wsgi:application # wsgi 파일 위치에 따라 다르게. | ||
volumes: | volumes: | ||
− | - | + | - ./:/app # 파이썬 도커파일에서 복사한 것을 /app에서 그대로 연결하여 사용한다. |
</syntaxhighlight> | </syntaxhighlight> | ||
[[분류:6. 장고 웹서비스]] | [[분류:6. 장고 웹서비스]] |
2022년 7월 6일 (수) 17:12 기준 최신판
1 개요[편집 | 원본 편집]
파이썬부터.
2 사전작업[편집 | 원본 편집]
과정 | 설명 | 방법 |
---|---|---|
gunicorn 설치 | pip install gunicorn | |
requirements.txt 제작 | 해당 환경에서 다음 명령을 진행하자. | pip freeze > requirements.txt |
도커, 도커 컴포즈 설치 | ||
3 파이썬 도커파일 제작[편집 | 원본 편집]
확장자 없이 Dockerfile을 제작한다.
# 사용하고 싶은 버전을 쓰자.
FROM python:3.6.0-alpine
# 명령이 실행될 기본 경로
WORKDIR /app
# .pyc 파일은 만들지 않는다.
ENV PYTHONDONTWRITEBYTECODE 1
# 파이썬 로그 버퍼링 없이 즉각출력.
ENV PYTHONUNBUFFERED 1
# 현재 경로의 파일들을 컨테이너 안의 /app 으로 옮긴다.
COPY ./ /app
RUN pip install --upgrade pip
RUN pip install -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에서 그대로 연결하여 사용한다.