settings.py : allowed host를 열어주고, db와 연동될 수 있도록 변경, CORS도 수정
urls.py : nginx에서 /dev 로 왔을 때 경로를 지정
data : 디렉토리를 만들어 줬고, 볼륨으로 데이터베이스의 내용들을 마운트
init/db.spl : 디렉토리를 만들고, db.spl 파일을 만들어 mysql에 데이터베이스 만들기 위해 sql퀴리문을 작성
requirements.txt : djnago를 실행하기 위해 pip로 설치했던 친구들
App.js : fetch 가야할곳! 수정!
deafult.conf : 파일을 만들어 줬고 /dev 로오면 back으로 가라고 설정, 여기서 root html파일이 모여있는곳을 변경해줘야한다 변경할 곳은 우리가 dockerfile을 만들때 사용했던 경로를 넣어줘야한다.
같은 로컬환경에서 컨테이너를 만들어 실행했기 때문에 IP는 192.168.0.14로 모두
services:
db:
image: mysql:8.0.32-debian
command: --init-file /init/db.sql
volumes:
- ./back/data:/var/lib/mysql
- ./back/init:/init
restart: always
environment:
MYSQL_ROOT_PASSWORD: qwer1234
ports:
- 3306:3306
healthcheck:
test: mysqladmin ping -pqwer1234
timeout: 20s
retries: 10
backend:
build:
context: ./back
dockerfile: Dockerfile
command: sh -c "python manage.py migrate && gunicorn config.wsgi --bind 0.0.0.0:8000"
ports:
- 8000:8000
depends_on:
db:
condition: service_healthy
frontend:
build:
context: ./front
dockerfile: Dockerfile
command: nginx -g "daemon off;"
ports:
- 80:80
FROM nginx:latest
RUN rm -rf /usr/share/nginx/html/index.html
ADD build /usr/share/nginx/html/
RUN rm -rf /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/default.conf
FROM python:3.9
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
COPY . /app
RUN pip install -r requirements.txt