초학자가 Docker를 사용하여 장고 앱을 gunicorn에서 실행합니다.

개요



Docker를 사용하여 장고 앱을 gunicorn에서 실행하고 싶습니다. 이야기를 쉽게하기 위해 Django 앱을 만들지 않고 로켓이 비행하는 예의 화면을 표시하는 것만으로하고 싶습니다.

몇 분에도 초학자이므로 잘못된 부분도 있다고 생각합니다만, 잘 부탁드립니다. m(_ _)m

Dockerfile 만들기


# python3をベースにする
FROM python:3

WORKDIR  /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt

requirements.txt 만들기


Django==2.2.6
gunicorn

docker-compose.yml 만들기


version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: django
    ports:
      - '8000:8000'
    volumes:
      - '.:/code'
    tty: true
    stdin_open: true

docker image를 빌드하고 컨테이너를 세웁니다.


$ docker-compose up -d

컨테이너 안으로 들어가다


$ docker-compose exec web bash

장고 프로젝트 만들기


$ django-admin startproject conf .

일단 개발 서버를 시작해 봅니다.


$ python manage.py runserver 0.0.0.0:8000

브라우저를 열고 localhost:8000으로 이동합니다. 로켓이 날고 있으면 OK입니다.


터미널로 돌아가 Ctrl+c를 눌러 개발용 서버를 정지시킨다.

gunicorn에서 장고 앱 작동



개발용 서버상에서 동작하는 것을 확인할 수 있었으므로, 이번에는 gunicorn상에서 동작시키고 싶습니다.
$ gunicorn --bind 0.0.0.0:8000 conf.wsgi:application

브라우저를 열고 localhost:8000으로 이동합니다. 로켓이 날고 있으면 OK입니다. 외형은 개발 서버와 동일하지만, gunicorn에서 Django 앱이 실행 중이어야합니다.

좋은 웹페이지 즐겨찾기