FROM python:3.10-slim # 작업 디렉토리 설정 WORKDIR /app # 시스템 패키지 설치 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ gcc \ libsqlite3-dev \ libssl-dev \ libffi-dev \ libbz2-dev \ libreadline-dev \ libncurses5-dev \ libgdbm-dev \ liblzma-dev \ libtk8.6 \ tk8.6-dev \ tcl8.6-dev \ wget \ curl \ unzip \ git \ cron \ && rm -rf /var/lib/apt/lists/* # requirements 설치 COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # 앱 전체 복사 COPY . . # 환경 변수 설정 ENV PYTHONUNBUFFERED=1 # 크론 작업 등록: 매일 11시에 daily_run.py 실행 RUN echo "0 11 * * * python /app/daily_run.py >> /var/log/cron.log 2>&1" > /etc/cron.d/daily-cron \ && chmod 0644 /etc/cron.d/daily-cron \ && crontab /etc/cron.d/daily-cron # 로그 파일 생성 RUN touch /var/log/cron.log # 컨테이너 시작 시 cron 실행 + file_watch.py 실행 + 로그 출력 유지 CMD cron && python lib/file_watch.py & tail -f /var/log/cron.log