# 1. BASE IMAGE FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # เพื่อให้ Log แสดงผลทันที # 2. WORK DIRECTORY WORKDIR /app # 3. DEPENDENCIES: Copy และติดตั้ง (ใช้ประโยชน์จาก Docker Layer Caching) COPY requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt # 4. ENTRYPOINT SCRIPT: Copy และกำหนดสิทธิ์รัน (ใช้สำหรับ Startup Automation) COPY docker-entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-entrypoint.sh # 5. CODE: คัดลอกโค้ดโปรเจกต์ที่เหลือทั้งหมดมาไว้ใน /app COPY . /app/ # 6. EXPOSE: EXPOSE 8000 # 7. ENTRYPOINT/CMD: กำหนด Entrypoint หลัก ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]