kr4phy's picture
Sync from GitHub
cff6ac7
Raw
History Blame Contribute Delete
1.44 kB
# 1. ๋”ฅ๋Ÿฌ๋‹/๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋นŒ๋“œ๋ฅผ ์œ„ํ•ด ๋ฌด๊ฑฐ์šด alpine ๋Œ€์‹  slim ์ด๋ฏธ์ง€ ์‚ฌ์šฉ
FROM python:3.11-slim
# ์‹œ์Šคํ…œ ์˜์กด์„ฑ ๋ฐ ๋นŒ๋“œ ๋„๊ตฌ ์„ค์น˜ (์ผ๋ถ€ ํŒจํ‚ค์ง€ ์ปดํŒŒ์ผ์šฉ, ์šฉ๋Ÿ‰ ์ค„์ด๊ธฐ ์œ„ํ•ด ์„ค์น˜ ํ›„ ์ •๋ฆฌ)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
&& rm -rf /var/lib/apt/lists/*
# 2. ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •
WORKDIR /workspace
# 3. pyproject.toml์„ ์ด์šฉํ•ด ์ข…์†์„ฑ ์„ค์น˜๋ฅผ ์œ„ํ•ด pip ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜
# ์—ฌ๊ธฐ์„œ๋Š” ์ง๊ด€์ ์œผ๋กœ pip๊ฐ€ pyproject.toml์˜ dependencies๋ฅผ ์ธ์‹ํ•˜๋„๋ก ์„ค์ •
COPY pyproject.toml ./
# 4. ์ค‘์š”: PyTorch์˜ CPU ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ ์šฉ๋Ÿ‰์„ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค.
# (๋งŒ์•ฝ GPU(CUDA) ํ™˜๊ฒฝ์ด ํ•„์ˆ˜๋ผ๋ฉด ์ด ๋ผ์ธ์„ ์‚ญ์ œํ•˜๊ณ  ๊ธฐ๋ณธ ์„ค์น˜ํ•˜๊ฒŒ ๋‘์„ธ์š”)
RUN pip install --no-cache-dir torch==2.10.0 --index-url https://download.pytorch.org/whl/cpu
# 5. ๋‚˜๋จธ์ง€ ํŒจํ‚ค์ง€ ์ „์ฒด ์„ค์น˜ (pyproject.toml์˜ ์˜์กด์„ฑ ์ž๋™ ํŒŒ์‹ฑ ์„ค์น˜)
# pip ์ตœ์‹  ๋ฒ„์ „์€ pyproject.toml์˜ [project.dependencies]๋ฅผ ๋ฐ”๋กœ ์ธ์ง€ํ•ฉ๋‹ˆ๋‹ค.
RUN pip install --no-cache-dir .
# 6. ์†Œ์Šค ์ฝ”๋“œ ๋ณต์‚ฌ (์ „์ฒด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ๋ณต์‚ฌ)
COPY . .
# 7. ํฌํŠธ ๊ฐœ๋ฐฉ
EXPOSE 7860
# 8. Uvicorn ์‹คํ–‰ (์ง„์ž…์  ์ฃผ์†Œ: src.api.main:app)
CMD ["uvicorn", "src.api.main:app", "--host", "0.0.0.0", "--port", "7860"]