📢 공지사항
home

Docker 이미지 생성 #다시

번호
31
비고
18:06
주차
5월 넷째주
확인
1.
준비 사항
Gitpod.io 계정 (Free or Student)
Gitpod Free 는 퍼블릭 레포만 작업 가능 / 월 50시간 제한
Gitpod Student는 프라이빗 레포도 작업 가능 / 월 100시간 제한
Gitpod Student 는 학생 인증된 Github 계정으로 로그인 후 My Subscription 페이지에서 확인 가능
Gitpod 설정 수정
Gitpod > Settings
Feature Preview > Enable Feature Preview 체크
Default IDE 선택
Theia : Eclipse 팀이 만든 IDE / 강의에서 사용
Code : VSCode 의 웹버전 IDE / 호환성 이슈 있음
Gitpod 인스턴스 생성
본인의 GitHub 레포지토리로 이동
레포지토리 주소 앞에 gitpod.io/#을 붙임
2.
requirements 설치
pip install -r requirements.txt
3.
Whitenoise 설치
pip install whitenoise
MIDDLEWARE 에서 SecurityMiddleware 바로 아래 내용 추가
'whitenoise.middleware.WhiteNoiseMiddleware',
4.
Gunicorn 설치
pip install gunicorn
5.
Dockerfile 생성
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"]
6.
run.sh 파일 생성
#!/bin/bash python manage.py migrate python manage.py collectstatic gunicorn lionproject.wsgi -b 0.0.0.0:8000
pip freeze > requirements.txt # requirements 파일 생성
sudo docker-up # 이 창을 닫으시면 안됩니다
Ctrl + Shift + ` 키로 새로운 터미널 열기
docker build -t DockerHubId/django-app . # 도커 이미지 생성
docker run -it -p 8000:8000 DockerHubId/django-app # 생성된 도커 이미지 실행
docker login # Docker Hub에 로그인 (이미지 업로드용)
docker push DockerHubId/django-app # Docker Hub에 생성된 이미지 업로드
https://hub.docker.com/r/DockerHubId/django-app 에서 내 앱이 업로드 된 것 확인