1. docker-compose를 활용한 Django 설치
1) requirements.txt 만들기
- requirements.txt 만들기
- psycopg2는 PostgreSQL을 사용하기 위해 설치
- gunicorn도 추가, 이유
Django
psycopg2
gunicorn
2) Dockerfile 만들기
FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /web
COPY . .
RUN pip install -r requirements.txt
- 이미지 빌드를 위해 아래 스크립트를 터미널에 입력
$ docker build .
3) docker-compose.yml 만들기
- docker-compose.yml 만들기
- web 서비스는 Dockerfile을 이용해서 이미지를 빌드
- Django 어플리케이션을 구동하기 위해 python manage.py runserver 0:8000을 실행
- 호스트포트 8000과 컨테이너 8000 포트를 바인드
- 현재 디렉토리를 /web 디렉토리로 마운트
- web 서비스가 돌아가기 전에 db 서비스가 먼저 돌아갈 수 있도록 depends-on 설정
- db 서비스는 postgres 외부 이미지를 사용하도록 하고, POSTGRES_USER와 POSTGRES_PASSWORD 환경변수를 설정
version: "3"
services:
web:
build: .
command: python manage.py runserver 0:8000
ports:
- "8000:8000"
volumes:
- .:/web
depends_on:
- db
db:
image: postgres
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
4) Django 프로젝트 생성
- 터미널에서 아래 명령어 실행
- [프로젝트 이름]에는 원하는 프로젝트 명 적으면 됨
- 마지막 점은 현재 폴더에 바로 설치하라는 뜻
$ docker-compose run web django-admin startproject [프로젝트 이름] .
$ docker-compose run web django-admin startproject project .
5) Django 프로젝트 실행