Local에서 Docker 사용

Lungnaha·2022년 3월 13일
1

Docker&k8s

목록 보기
5/9

💪 들어가며..

오늘은 EC2에서 Docker를 사용하는 것이 아니라, 자신의 노트북에서 Docker를 사용해서 테스트를 진행해보는 방법을 다루어볼 것입니다.
방법은 Django에서 Docker와 Docker-Compose 파일을 작성하고, Docker-Compose 파일을 실행해서 배포를 확인하는 방법으로 진행합니다.

🏥 시작

먼저 Django 프로젝트를 시작합니다.
아래의 명령어를 사용해서 원하는 위치에 프로젝트를 생성할 수 있습니다.
물론, Django 가 미리 설치가 되어있어야 겠죠?

django-admin.py startproject 프로젝트명

아 참고로, 저는 django-admin이 아니라 뒤에 .py를 붙여야 생성이 되더라구요.
(아직까지 왜 그런지는 원인을 찾지 못했습니다...)

생성 후에는 requirements.txt를 이용해서 Docker에서 참조할 설치 항목들을 작성해줍니다.

저는 위와 같이 작성했는데, 해당 내용은 본인의 프로젝트에 알맞게 작성해주시면 됩니다.

🏩 Docker 파일

그 후에는 Docker 파일을 생성해줍니다.

VS Code 기준으로 위와 같이 파일 이름을 지정하면 Docker의 상징인 귀여운 고래가 나오는 모습을 확인하실 수 있습니다.


Docker 파일을 위와 같이 작성했습니다.
간단하게 내용을 확인해보면, ENV PYTHONUNBUFFERED 1 을 통해 파이썬 출력 버퍼링을 없애는 설정을 부여할 수 있습니다.
WORKDIR /app 은 /app 폴더로 이동(?) 한다는 의미라고 이해했습니다.
COPY A B 는 A를 B에 복사한다는 의미이고, RUN 은 Docker 이미지를 빌드하는 순간 실행되는 명령어 입니다.
CMD는 이미지로부터 컨테이너를 생성할 때, 최초로 실행하는 명령어입니다.
(Docker 명령어는 추가적인 공부 이후에 다루어보는 시간을 가져보겠습니다.)

🏫 Docker-Compose 파일

Docker 파일을 생성했다면, 이제는 Docker-Compose 파일을 생성해줍니다.
해당 파일로, 여러 개의 컨테이너로부터 이루어진 서비스를 구축하고, 의존관계 등을 설정할 수 있습니다.

위와 같은 이름으로 파일을 생성해줄 수 있는데, Docker 파일과는 다른 색의 고래를 확인할 수 있습니다.

Docker-compose 파일은 위와 같고, 주석을 통해 관련 내용에 대한 설명을 확인하실 수 있습니다.

💒 로컬 배포하기

이제 위와 같은 설정으로 이미지를 생성해서, 그 이미지를 배포할 수 있습니다.
해당 Docker-compose 파일 위치로 이동해서 아래와 같은 명령어를 입력해줍니다.

docker-compose up

위의 명령어를 사용해주면 docker-compose 파일에 작성한 대로 설치 및 실행이 진행됩니다.

cmd 창에 아래와 같이 뜨면 Django 가 실행됬음을 확인하실 수 있습니다.

🏛 참고) Docker DB 처리

참고로 Docker 파일을 띄우고, DB에 migration이나 migrate를 하려면, 실행중인 이미지를 종료하지 말고 명령어를 통해, 컨테이너 안으로 들어가서 실행해주어야합니다.

docker-compose exec backend sh
python manage.py makemigrations
python manage.py migrate

위와 같은 방법들로 로컬에서 Docker 파일의 실행 등을 테스트 해보실 수 있습니다. ^^

profile
Long🌈Now😁Happy💖

0개의 댓글