# 1. 베이스 이미지 설정 # 공식 Python 3.9 이미지를 기반으로 합니다. FROM python:3.9-slim # 2. 작업 디렉토리 설정 # 컨테이너 내에서 명령이 실행될 기본 경로입니다. WORKDIR /app # 3. 의존성 설치 # 먼저 requirements.txt 파일만 복사하여 캐시를 활용합니다. # 이렇게 하면 소스 코드가 변경되어도 매번 의존성을 새로 설치하지 않습니다. COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 4. 소스 코드 복사 # 현재 디렉토리의 모든 파일을 컨테이너의 /app 디렉토리로 복사합니다. COPY . . # 5. 포트 노출 # FastAPI 기본 포트인 8000번을 외부에 노출합니다. EXPOSE 8000 # 6. 애플리케이션 실행 # 컨테이너가 시작될 때 실행할 명령입니다. # Uvicorn을 사용하여 main.py 파일의 app 객체를 실행합니다. CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]