WildOjisan's picture
.
bc25327
# Dockerfile
FROM python:3.10-slim
# ν•„μš”ν•œ νŒ¨ν‚€μ§€ μ„€μΉ˜ 및 μ‹œκ°„λŒ€ μ„€μ • (root κΆŒν•œ ν•„μš”)
# 'tzdata'λ₯Ό μ„€μΉ˜ν•˜κ³  'Asia/Seoul'둜 μ‹œκ°„λŒ€λ₯Ό μ„€μ •
RUN apt-get update && \
apt-get install -y tzdata git && \
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
echo "Asia/Seoul" > /etc/timezone && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 user
USER user
ENV PATH="/home/user/.local/bin:$PATH"
WORKDIR /app
COPY --chown=user ./requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# --- [μˆ˜μ •] λͺ¨λΈ 미리 λ‹€μš΄λ‘œλ“œ (캐싱) ---
# μ†ŒμŠ€μ½”λ“œ 볡사 전에 λͺ¨λΈ λ‹€μš΄λ‘œλ“œλ₯Ό μˆ˜ν–‰ν•˜μ—¬ Docker λ ˆμ΄μ–΄ μΊμ‹œ ν™œμš©
COPY --chown=user ./download_models.py download_models.py
RUN python download_models.py
COPY --chown=user . .
#μ„œλ²„ μ‹€ν–‰ λͺ…λ Ή: μ»¨ν…Œμ΄λ„ˆκ°€ μ‹œμž‘λ  λ•Œ FastAPI μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜λ„λ‘ λͺ…령을 μ •μ˜ν•©λ‹ˆλ‹€.
#app.py 파일의 app 객체λ₯Ό 7860 포트둜 μ—΄μ–΄μ€λ‹ˆλ‹€.
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]