(2022.11.18) Today_I_Learned_day-56

imRound·2022년 11월 18일
0
post-thumbnail

Docker Timeattack

Docker를 활용하여 서비스를 배포하는 과정을 실습하였다.

처음 시작하면서 runserver로 배포를 하려고 했는데, 어디서 뭐가 들어가는지 감이 잡히질 않았다.

  • Docker 패키지 설치는 미리 진행을 하였다.
sudo apt install docker.io -y
  • backend 폴더를 만든 후 ( mkdir backend)
  • backend 폴더 안에 프로젝트를 클론하였다! ( git clone [gitgub주소] ./django) ( 위치를 조심해야 한다!!!)
  • ubuntu/homedocker-compose.yml을 편집을 하여 만들어 준다!
version: '3.8'

services:
  backend:
    container_name: backend
    build: ./backend/
    entrypoint: sh -c "python manage.py collectstatic --no-input && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"

    volumes:
      - ./backend/django/:/app/
      - /etc/localtime:/etc/localtime:ro
    restart: always
  • 그 후 backend/Dockerfile 에 편집을 하여 만들어 준 뒤
# python 3.10.8버전 이미지를 사용해 빌드
FROM python:3.10.8

# .pyc 파일을 생성하지 않도록 설정합니다.
ENV PYTHONDONTWRITEBYTECODE 1

# 파이썬 로그가 버퍼링 없이 즉각적으로 출력하도록 설정합니다.
ENV PYTHONUNBUFFERED 1

# /app/ 디렉토리를 생성합니다.
RUN mkdir /app/

# /app/ 경로를 작업 디렉토리로 설정합니다.
WORKDIR /app/

# requirments.txt를 작업 디렉토리(/app/) 경로로 복사합니다.
COPY ./django/requirements.txt .

# 프로젝트 실행에 필요한 패키지들을 설치합니다.
RUN pip install --no-cache-dir -r requirements.txt
  • sudo docker compose up -d —build 를 이용하여 확인을 하니 logs 상에서도 문제가 없고
    내 퍼블릭 주소로 웹사이트를 들어갈 때도 문제 없이 진행 되었다!!!!
profile
Django 개발자

0개의 댓글