Files
brain_dogfood/docs/Bug/20260420_docker_support.md
T

1.6 KiB

기능 추가: Docker 및 Docker Compose 배포 지원

1. 개요 (변경 내용)

  • 사용자들의 요청에 따라 서버를 컨테이너 환경에서 간편하게 배포할 수 있도록 Docker 지원 기능을 추가함.
  • 사용자가 선호하는 네이티브(Native) 실행 방식과 도커(Docker) 방식을 동시에 지원하는 하이브리드 구조를 채택함.

2. 조치 사항

  • Dockerfile 생성: Python 3.10-slim 이미지를 기반으로 서버 실행 환경 구축.
  • docker-compose.yml 생성:
    • DB(data/), 업로드 파일(static/uploads/), 로그(logs/), 설정(config.json) 볼륨 매핑을 통해 데이터 영속성 확보.
    • .env 파일 주입 설정 추가.
  • .dockerignore 추가: 불필요한 파일(DB, 로그, pycache 등)을 빌드 대상에서 제외하여 이미지 경량화 및 보안 강화.
  • README.md 가이드 개편:
    • 설치 방법을 '네이티브'와 '도커' 섹션으로 분리하여 가독성 개선.
    • 사용자가 선호하는 네이티브 방식을 최상단(방법 1)에 유지함.

3. 결과 및 검증

  • Docker 빌드 컨텍스트 구성 확인.
  • 볼륨 매핑을 통해 호스트와 컨테이너 간의 데이터 동기화 구조 설계 완료.
  • 네이티브 실행 로직에 영향을 주지 않으므로 하이브리드 지원이 정상적으로 작동함.

4. 향후 주의 사항

  • 도커로 실행할 경우 호스트의 파일 권한(Permission) 문제로 인해 볼륨 마운트된 디렉토리에 쓰기 권한이 필요할 수 있음.
  • requirements.txt가 업데이트될 경우 Docker 이미지를 다시 빌드(docker-compose build)해야 함.