React, Django, Nginx, Docker EC2 배포기 1(진행중)

김범기·2024년 6월 18일

개요

아직 다 안되었으니 참고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

요로코롬 바꾸니 도커 이미지 빌드가 성공했다.
그런데 이제 어떻게 해야지?? 제대로 되는건지 안되는건지도 모르는디...

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

profile
반드시 결승점을 통과하는 개발자

0개의 댓글