FastAPI Docker 이미지
FastAPI Docker 이미지
목차
📁 파일 구조
fastapi/
├── Dockerfile # FastAPI 이미지 빌드 파일
├── main.py # FastAPI 애플리케이션
├── requirements.txt # Python 의존성
├── README.md # 이 파일
└── nginx/ # nginx 프록시 이미지 (별도)
⚙️ 구성 정보
| 항목 | 값 |
|---|---|
| 베이스 이미지 | python:3.11-slim |
| 포트 | 3000 |
| 엔드포인트 | /api |
| 프레임워크 | FastAPI + Uvicorn |
🚀 ec2 실행
1. 이미지 빌드
docker build -t pista-fastapi:latest .
2. 컨테이너 실행
docker run -d -p 3000:3000 --name pista-fastapi pista-fastapi:latest
3. 접속 확인
curl http://localhost:3000/api
# 응답: {"message":"fastAPI"}
☁️ ECR 푸시
1. ECR 로그인
aws ecr get-login-password --region ap-northeast-2 | \
docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com
2. 이미지 태그
docker tag pista-fastapi:latest <ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com/pista-fastapi:latest
3. 이미지 푸시
docker push <ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com/pista-fastapi:latest
🔗 nginx 연동
nginx와 함께 사용할 경우 nginx/default-fastapi.conf 설정을 참고하세요.
# nginx에서 fastapi로 프록시
location /api {
proxy_pass http://fastapi:3000;
}