Backend/Django
도커 설정
Dean83
2023. 10. 18. 21:39
- docker를 이용해 AWS 에 적용할 예정
- 윈도우 환경 기준, (리눅스나 타 운영체제도 괜찮음) Docker Desktop 설치
- WSL 업데이트 (필요시 수행) 및 버전 2 사용
- 만일 설치가 안되어 있을 경우, powershell 을 관리자 권한으로 실행 후 다음의 명령어 실행
- wsl —install
- wsl —set-default-version 2
- Dockerfile 이라고 하는 파일을 생성, 내부에 정해신 방식대로 코딩
- 파이선 설치 및 django, 각종 프레임워크 설치 명령 코딩
- 시작 옵션 명령 코딩
- 파일위치는, manage.py 가 있는 위치
- 해당 파일을 생성 후, docker build 명령어를 통해 빌드
//Dockerfile 예시 FROM python:3.9.13 RUN apt-get update \\ && apt-get install openssl \\ && apt-get install ca-certificates RUN pip install django==4.0.10 RUN pip install djangorestframework==3.14.0 RUN pip install dj-rest-auth==4.0.1 RUN pip install django-allauth==0.54.0 RUN pip install djangorestframework-simplejwt==5.3.0 RUN pip install django-cors-headers==4.2.0 RUN pip install rest_framework_simplejwt==0.0.2 RUN pip install pyopenssl==23.2.0 RUN pip install django-sendgrid-v5 WORKDIR /usr/src/app COPY . . WORKDIR . CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] EXPOSE 8000 EXPOSE 587
- 명령어 (powershell 을 관리자 권한으로 실행 후 입력)
- docker ps : 실행중인 도커 이미지 컨테이너 리스트 출력
- docker rm -f 프로세스 아이디 : 컨테이너 아이디는 docker ps로 확인. 컨테이너 강제 삭제
- docker images : 도커에서 다운받은 이미지 리스트 표시
- docker rmi -f 이미지 아이디 : 해당 이미지 삭제
- docker build -t 이름 . : 맨 뒤에 . 찍는것 중요. 현재 디렉토리 위치에 dockerfile을 통해 이미지를 생성하는 명령어
- docker stop 컨테이너 아이디 : 컨테이너 중지
- docker run : 도커 이미지를 실행
- 옵션값 설명
- -p 포트번호 : 도커에서 설정한 포트번호와 실제 PC의 포트번호 매칭. 다수의 포트를 연결해야 하면 -p 포트번호 -p 포트번호 이런식으로 여러번 옵션값을 줄 수 있다
- -rm : 도커 실행 후 자동으로 컨테이너 삭제
- -it : 키보드 입력이 필요한 경우 사용
- -d : 컨테이너를 백그라운드에서 실행. 서버 컨테이너 실행히 주로 사용
- 옵션값 이후, 이미지 태그명:버전명 입력하여 실행
//도커 이미지 생성 예 docker build --tag grnd1/demo_django:1.0.0 . //도커 실행 예 docker run -it -p 8000:8000 -p 587:587 grnd1/demo_django:1.0.0
- 옵션값 설명
- docker logs 컨테이너 아이디 : 해당 컨테이너의 로그를 출력
- -n 숫자 옵션 : 최근 몇줄만 출력
- -f 옵션 실시간으로 출력 확인