본문 바로가기
Django(웹서비스 만들기)

[12주차] Docker로 실행하기

by SOHEE- 2022. 2. 21.

Docker로 Django 웹 실행하기

웹 서비스를 올리려는 플랫폼, OS 등에 따라 설정이 달라지고 영향을 받을 수 있는데, Docker로 컨테이너화 하여 실행하면 이러한 문제가 해결됩니다. Ubuntu 운영체제 위에 Docker를 설치하고 실행하는 실습을 해보겠습니다. 

 

Docker 설치하기

Docker 홈페이지에서 다양한 설치 방법을 가이드 하고 있으며, 아래 코드는 convenience script를 사용하는 방식입니다. 

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

#한 줄로 실행하기
curl -fsSL https://get.docker.com/ | sudo sh

쉘에서 'docker'를 입력했을때 옵션 가이드가 나오면 제대로 설치된 것입니다. 

현재 접속 중인 사용자에게 Docker 실행을 위한 권한을 주기 위해 아래 명령어를 입력하고 재로그인 합니다.

sudo usermod -aG docker $USER

 

Github의 프로젝트를 복사하고 Dockerfile 생성하기

Django 프로젝트를 Github에서 다운로드 합니다. 

mkdir /django
cd /django
git clone https://github.com/tkdlek11112/learningspoons_hustle

'vi Dockerfile' 명령어를 입력한 후 아래의 내용을 적어 넣습니다. 

FROM python:3.7.9

ENV PYTHONUNBUFFERED 1

RUN mkdir /srv/django
ADD . /srv/django

WORKDIR /srv/django

RUN pip install --upgrade pip
RUN pip install -r requirements.txt
RUN python manage.py makemigrations
RUN python manage.py migrate

EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

 

Dockerfile을 기반으로 이미지를 만들어 실행하기

아래 명령어를 통해 Dockerfile 기반의 이미지를 생성하고, 웹 서비스를 실행합니다. 

#'django'이름의 이미지 만들기
docker build -t django .

#생성된 이미지를 실행하기
docker run -p 80:8000 django

이 실행을 하고 있는 인스턴스의 IP주소로 접속을 하면 웹 페이지가 잘 뜨는 것을 확인할 수 있습니다. 

 

 

'Django(웹서비스 만들기)' 카테고리의 다른 글

[11주차] 프로젝트-3  (0) 2022.02.11
[10주차] 프로젝트-2  (0) 2022.01.30
[9주차] 프로젝트-1  (0) 2022.01.15
[8주차] 쇼핑몰 페이지 만들기  (0) 2022.01.15
[7주차] 여러 서비스 연계하기  (0) 2022.01.08