Docker-compose로 django app 띄우기

beno·2021년 6월 21일
0

Docker X Django

목록 보기
1/1

기존에 개발된 django application을 docker-compose를 이용해 실행하는 방법을 정리합니다.

1. 적용하면 좋은 상황

  • django application 실행을 위해 환경변수 설정 등 여러가지 설정해야 할 것들이 많은 경우

2. 방법

2.1 docker 설치

  • https://docs.docker.com/get-docker/ 에서 운영체제에 맞는 docker를 다운받습니다.
  • 설치가 완료되면 커맨드창에서 아래의 명령어로 설치가 잘 된 것을 확인합니다. 버전명이 뜨면 잘 설치된 것입니다.
    • docker -v
    • docker-compose -v

2.2 django application의 루트 디렉토리에 Dockerfile 작성

# syntax=docker/dockerfile:1
FROM python:3.7-alpine
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
  • 각 파이썬 버전에 대응하는 이미지 태그는 여기서 확인
  • 위 경우 docker 컨테이너 내부의 django application 루트 디렉토리는 /code가 됩니다.

2.3 환경변수를 별도의 파일에 정의

DJANGO_SETTINGS_MODULE=django_app.settings
...
  • 파일명은 임의로 정해도 됨
  • 애플리케이션 루트 디렉토리에 작성
  • 여기서는 .dockerenv라는 파일명을 사용

2.4 docker-compose.yml 작성

version: "3.9"

services:
  django_app:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    env_file:
      - .dockerenv
  • 애플리케이션 루트 디렉토리에 작성
  • 8000번 포트 실행을 가정

2.5 docker-compose을 이용한 애플리케이션 실행

docker-compose up -d django_app
  • -d: 백그라운드로 실행
  • django_app: docker-compose.yml에 정의된 service명
  • localhost:8000 주소로 애플리케이션 실행이 잘 되는지 확인

2.6 애플리케이션 종료

docker-compose down
profile
마음은 여기에. 시선은 저 멀리.

0개의 댓글