[사전 준비]

  1. gitpod.io 가입/로그인 : 본인의 기존 github계정과 연동해주세요.
  2. https://hub.docker.com 가입 : 신규 가입(첫 페이지 Sign up), ID/PASSWORD는 명령어에 쓰이니 기억해두세요.
  3. 🙄 클론 받은 후 개인 Public 레포지토리에 푸쉬합니다.

[세션 내용]

  1. git push 해놓은 개인 레포지토리 주소창 맨 앞에 gitpod.io/# 입력 후 gitpod IDE 접속
  2. cd blogproject - 프로젝트 경로로 이동
  3. requirements.txt 있는 디렉토리로 이동 후 터미널에 pip install -r requirements.txt
  4. pip install whitenoise & settings.py MIDDLEWARE 섹션 > 45번 줄 밑에 'whitenoise.middleware.WhiteNoiseMiddleware', 추가
  5. pip install gunicorn
  6. pip freeze > requirements.txt
  7. Dockerfile 생성 (manage.py 랑 같은 위치)
FROM python:3.8
ENV PYTHONUNBUFFERED=1
RUN mkdir /app
WORKDIR /app        
COPY . /app
RUN apt-get update \\       
    && apt-get install -y \\
    python3 python3-pip python3-dev python3-venv build-essential libpq-dev \\
    && rm -rf /var/lib/apt/lists/*
RUN pip install -r requirements.txt
RUN chmod +x /app/run.sh
EXPOSE 8000

ENTRYPOINT ["/app/run.sh"]
  1. run.sh 생성 (manage.py 랑 같은 위치)
#!/bin/bash

python manage.py makemigrations

python manage.py migrate

python manage.py collectstatic

gunicorn blogproject.wsgi -b 0.0.0.0:8000
  1. sudo docker-up # 이미 도커 테스크톱 설치/ 서버에 도커를 깔았다면 필요없지만, 한번 쳐봐도 깔렸다고 나오기 때문에 일단 쳐보고 확인
  2. `Ctrl+Shift+`` # 새로운 터미널창 열기, 기존 터미널창은 삭제하지 않습니다.
  3. docker build -t 독허브아이디/blogproject . # 방금 작성한 docker파일을 이미지로 빌드, dockerfile 있는경로에서입력 / t는 태그 / 개인 사용자가 만든 이미지명은 사용자도커아이디/도커이미지이름 / . 은 현재 디렉토리 위치에서 빌드
  4. docker run -it -p 도커파일안의포트:서버포트 독허브아이디/이미지명 # 이미지 네임은 세션에서 'blogproject' 로 설정