docker를 학습하고 장고프레임 워크를 학습하느라 손을 좀 놨더니 기억이 가물가물했다. 마침 파이썬 기반으로 도커 실습 특강을 해주셔서 정말 감사했다,,,
cd my-project-directory # 여러분들 평소 하던 프로젝트 경로로 이동하세요.
mkdir django-docker-app
cd django-docker-app
python -m venv venv
source venv/bin/activate # Windows: venv\\Scripts\\activate
pip install django==4.2.1 # Docker에서 쓸 Python 버전과 호환이 되는 Django 버전
django-admin startproject myapp .
#Dockerfile
# (베이스 이미지)
# python:3.9-slim이라는 이미지를 Docker hub에서 가져와 줘!
FROM python:3.9-slim
# (작업 디렉토리 설정)
# 앞으로 돌아갈 컨테이너에는 app이라는 폴더를 만들어서, 거기에서 작업할 거야
WORKDIR /app
# (종속성 설치)
# requirements.txt을 WORKDIR로 설정한 app이라는 폴더에 옮겨줘.
COPY requirements.txt .
# requirements.txt에 있는 거 전부 설치해줘.
RUN pip install -r requirements.txt
# (소스 코드 복사)
# 지금 폴더를 컨테이너에 다 복사해줘.
COPY . .
# (포트 노출)
# 8000번 포트만 외부에 노출(expose)시킬 거야.
EXPOSE 8000
# (명령 실행)
# python manage.py runserver 0.0.0.0:8000 명령어를 컨테이너에서 실행해줘.
# 0.0.0.0은 외부에 연결 가능한 것을 의미
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
VS code
에서 bash
터미널에서 진행해도 똑같이 가능했다.
myapp
이라는 장고 앱을 만들어서 도커 실습을 했는데 지급받은 강의에서 실습한 인텔리제이와 격이 다른 익숙함이 편안했다.
[강의진행]
터미널에서 경로 이동 후 폴더, 앱 생성 --> 가상환경 --> 장고설치 --> 장고 앱 실행 --> 도커 데스크탑 실행 --> 도커파일 작성 --> requirements.txt 생성 --> 도커 이미지 빌드 및 실행 --> 컨테이너 실행 --> 브라우저 로컬 호스트 8000 접속해서 확인하기!
이런 순으로 진행되었고, 도커가 왜 사용되는지에 대해 다시한번 뼈저리게 느꼈다.