File size: 1,047 Bytes
50d5c90 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Dockerfile
FROM python:3.10-slim
# 1. μμ€ν
ν¨ν€μ§ μ€μΉ λ° μκ°λ μ€μ (Root κΆν)
RUN apt-get update && \
apt-get install -y tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
echo "Asia/Seoul" > /etc/timezone && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
# 2. μμ‘΄μ± νμΌ λ³΅μ¬
COPY requirements.txt .
# 3. 'uv'λ₯Ό μ¬μ©νμ¬ ν¨ν€μ§ μ€μΉ (ν΅μ¬ ν΄κ²°μ±
)
# pip λμ uvλ₯Ό μ¬μ©νλ©΄ resolution-too-deep μλ¬λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
# --system μ΅μ
μΌλ‘ μμ€ν
νμ΄μ¬ νκ²½μ μ§μ μ€μΉν©λλ€ (λ컀 λ΄λΆλ 격리λμ΄ μμΌλ―λ‘ μμ ν¨).
RUN pip install uv && \
uv pip install --system --no-cache-dir -r requirements.txt
# 4. 보μμ μν΄ μ μ μμ± λ° μ ν
RUN useradd -m -u 1000 user
USER user
ENV PATH="/home/user/.local/bin:$PATH"
# 5. μμ€ μ½λ λ³΅μ¬ (μ μ κΆνμΌλ‘)
COPY --chown=user . /app
# 6. μλ² μ€ν
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |