프로젝트

🎯 AWS EC2 배포: GitHub 연동부터 Docker 빌드/실행까지 한눈에 정리

Chansman 2025. 6. 14. 06:54

🎯 AWS EC2 배포: GitHub 연동부터 Docker 빌드/실행까지 한눈에 정리


📌 1. GitHub 브랜치/파일 관리 전략

  • 개발 브랜치(develop):
    개발/테스트 코드 관리
    (Dockerfile, run.sh 등 배포 관련 파일은 제외하고 관리)
  • 배포 브랜치(release/main):
    Dockerfile, run.sh, .env 예시 등 배포 전용 파일 포함
    (최종 배포용 이미지는 release/main에서만 관리)
  • GitHub 등록 절차
    1. release 브랜치 푸시
      • 배포에 필요한 파일만 남겨서
git checkout release
git push origin release

 

  1. EC2에서 클론
    • release 브랜치만 클론
git clone -b release https://github.com/사용자명/레포명.git

 

  • (SSH 키 에러, 권한 이슈 발생 시 SSH Key 등록 필요)

📌 2. EC2 환경 세팅 및 Docker 설치

  • Docker/Docker Compose 설치
sudo apt update
sudo apt install -y docker.io docker-compose
  • sudo 없이 docker 명령어 쓰기
    • (적용 안 되면 exit, ssh 재접속)
sudo usermod -aG docker $USER
newgrp docker
  • 버전 체크
docker --version
docker-compose --version

📌 3. Dockerfile 기반 이미지 빌드

Dockerfile이 있는 폴더로 이동

cd ~/account-book
  • 도커 이미지 빌드
    • 이미지명은 자유롭게(프로젝트마다 다르게 추천)
docker build --platform=linux/amd64 -t account-book-image .

📌 4. .env 파일 작성

프로젝트 폴더에 .env 직접 생성

nano .env
  • 최소 예시
SECRET_KEY=xxxxxx
DJANGO_ENV=production

DB_NAME=...
DB_USER=...
DB_PASSWORD=...
DB_HOST=...
DB_PORT=5432

REDIS_HOST=my-redis

📌 5. 도커 컨테이너 실행

  • docker-compose로 실행(권장)
    • (첫 실행은 --build 옵션으로 강제 빌드)
docker-compose up --build
  • 상태/로그 확인
docker-compose ps
docker-compose logs -f
  • 정상적으로 뜨면
    → 브라우저에서
    http://[EC2 퍼블릭 IP]:8000/
    접속!

💡 실무 Tip

  • 컨테이너 실행/종료 습관:
    docker-compose down으로 완전 정리
  • .env는 항상 깃허브 제외! (로컬/서버에서만 보관)
  • EC2 보안그룹 8000포트 열어야 외부 접속 가능
  • 에러는 로그로 바로 진단

✅ 결론

GitHub → EC2 클론 → 도커 이미지 빌드 → 컨테이너 실행까지
이 플로우만 익히면
“실제 서비스 실무 배포” 완전 마스터!