아직 다 안되었으니 참고XXXXXXXXXX
개인 프로젝트 코드는 다 작성했는데 배포를 못하고 있다..ㅠㅠㅠㅠㅠㅠ
react와 django로 프로젝트를 진행했는데, 이제 진짜 배포만 되면 완성이다.
아무것도 모르는 초보 개발자(지망생)의 맨땅에 헤딩하는 배포일기를 작성해본다. 따흐흑😣
다음부터는 java를 제대로 배워서 spring boot로 작업을 해야지 django는 시작 전부터 뭐가 해야할 게 많아 보인다.
우선 ec2와 rds의 생성 및 연동은 아래 블로그를 참고 했다.
AWS 1편: EC2 생성 후 Spring Boot 띄우기
AWS 2편: RDS 생성 후 EC2 와 연동
일단 rds도 ec2도 생성하고 연결은 해놨다.
뭐가 어떻게 돌아가는지 하나도 모르겠지만, 일다 dockerfile과 nginx파일을 만들어야겠다.
참고 영상1
참고 영상2
현재 내 폴더 트리는 대략 아래처럼 되어있다.
tarotMilkTea/
├── backend/
│ └── tarotMilkTea/
│ └── tarotback/
│ ├── Dockerfile
│ ├── entrypoint.sh
│ ├── manage.py
│ ├── requirements.txt
│ └── .env
├── frontend/
│ └── tarotmilktea/
│ ├── Dockerfile
│ ├── package-lock.json
│ ├── package.json
│ └── .env
├── nginx/
│ ├── Dockerfile
│ └── default.conf
└── docker-compose.yml
난 여기서 각 도커 이미지를 만들고자 이것저것 열심히 삽질을 했고, 이 중 특이하게 오류가 해결된 게 있다.
=> ERROR [backend 4/8] RUN pip install -r requirements.txt 11.5s
failed to solve: process "/bin/sh -c pip install -r requirements.txt" did not complete successfully: exit code: 1
이런식으로
pkg-config: notfound
에러가 계속해서 있었던 것인데,
내가 backend쪽에서 사용하던 Dockerfile은 아래와 같았다.
FROM python:3.12-alpine
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt
COPY . /app
WORKDIR /app
COPY .env /app/.env
COPY ./entrypoint.sh .
ENTRYPOINT ["sh", "/app/entrypoint.sh"]
여기서
FROM python:3.12-alpine
대신
FROM python:3.12
이렇게 하니 그 문제는 해결되었다.
뭐... 그렇다고 해서 현재 모든 문제가 다 해결된 건 아니다.... 도전 해서 성공하고 나면 코드 다 올려봐야지...
현재 백과 프론트는 이미지 구축에 성공해서, 2개는 성공했고, nginx가 실패했다. 이것을 또 이유를 찾아야한다.

이젠 이런 에러가 발생한다.

FROM nginx:1.24
COPY ./default.conf /etc/nginx/conf.d/default.conf
기존이 이랬는데,
FROM nginx:1.24
# ./nginx 폴더 안에 있는 default.conf 파일을 복사
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
요로코롬 바꾸니 도커 이미지 빌드가 성공했다.
그런데 이제 어떻게 해야지?? 제대로 되는건지 안되는건지도 모르는디...

배포를 해본 잘하는 싸람들에게 물어봐야겠다 줄르르르규ㅠㅜㅜ