반응형
1. Docker Desktop을 설치한다.
2. pip freeze > requirements.txt 명령을 이용하여 가상환경 라이브러리를 리스트로 만든다.
3. Dockerfile을 Project Root에 만든다.
# pull official base image
FROM python:3.8.0-alpine
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN apk update
RUN apk add postgresql-dev gcc python3-dev musl-dev zlib-dev jpeg-dev libffi-dev openssl-dev cargo
COPY . /usr/src/app/
# install dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
4. docker-compose.yml 파일을 만든다.
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./:/usr/src/app/
ports:
- 8000:8000
env_file:
- ./.env.dev
5. Settings 파일 수정
SECRET_KEY = os.environ.get('SECRET_KEY', '***')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = int(os.environ.get('DEBUG', 1))
if os.environ.get('DJANGO_ALLOWED_HOSTS'):
ALLOWED_HOSTS = os.environ.get('DJANGO_ALLOWED_HOSTS').split(' ')
else:
ALLOWED_HOSTS = []
6. .env.dev 파일 생성
DEBUG = 1
SECRET_KEY = ***
ALLOWED_HOSTS = localhost 127.0.0.1 [::1]
7. docker-compose build 명령 실행
8. docker-compose up으로 docker 컨테이너를 실행 한다.
9. daemon으로 실행하려면 docker-compose up -d로 컨테이너를 실행한다.
10. docker image ls 명령어를 이용하여 존재하는 image를 확인 할 수 있다.
11. docker container ls 명령어를 이용하여 실행중인 container를 확인 할 수 있다.
12. 테스트 실행도 가능하다.
$ docker-compose exec web python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
...........
----------------------------------------------------------------------
Ran 11 tests in 4.580s
OK
Destroying test database for alias 'default'...
13. docker-compose down으로 컨테이너 중단 한다.
반응형
'기타-프로그래밍' 카테고리의 다른 글
Gunicorn Web Server Gateway Interface를 docker에서 사용하기 (0) | 2022.03.06 |
---|---|
PostgreSQL Docker 적용하기 (0) | 2022.03.06 |
Bootstrap 시작하기 (0) | 2022.02.08 |
Maven 명령어 정리 (0) | 2018.01.25 |
MADP EMM 개념 정리 (0) | 2018.01.25 |