Files
backend/file-service/python/Dockerfile
T
TakahashiNguyen c6683b28dc
Release package / release (push) Successful in 17m59s
fix: add upload images (#50)
Co-authored-by: TakahashiNg <83152264+TakahashiNguyen@users.noreply.github.com>
Reviewed-on: #50
2026-05-10 14:10:20 +00:00

32 lines
886 B
Docker

# --- Stage 1: Build (Cài đặt thư viện) ---
FROM python:3.9-slim AS builder
WORKDIR /build
# Khởi tạo môi trường ảo để tách biệt thư viện
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
COPY requirements.txt .
RUN pip install --upgrade --no-cache-dir -r requirements.txt
# --- Stage 2: Runtime (Chỉ chạy Prod) ---
FROM python:3.9-slim
WORKDIR /app
# Chỉ copy môi trường ảo đã build xong từ Stage 1
COPY --from=builder /opt/venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
# Copy mã nguồn
COPY main.py .
# Tạo folder lưu ảnh và phân quyền (tăng tính bảo mật)
RUN mkdir images && chmod 777 images
# Chạy bằng Uvicorn với chế độ production (tắt reload)
# Port 80 theo yêu cầu trước đó của bạn
EXPOSE 80
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80", "--workers", "4"]