프로젝트
🎯 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 등록 절차
- release 브랜치 푸시
- 배포에 필요한 파일만 남겨서
- release 브랜치 푸시
git checkout release
git push origin release
- 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 클론 → 도커 이미지 빌드 → 컨테이너 실행까지
이 플로우만 익히면
“실제 서비스 실무 배포” 완전 마스터!