project-tdm / Dockerfile
hy
sudong
64a617e
# 1. ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€: ํŒŒ์ด์ฌ 3.12๊ฐ€ ์„ค์น˜๋œ ๊นจ๋—ํ•œ ๋ฆฌ๋ˆ…์Šค์—์„œ ์‹œ์ž‘
FROM python:3.12-slim
# 2. ์ž‘์—… ํด๋”๋ฅผ /app์œผ๋กœ ์„ค์ •
WORKDIR /app
# 3. 'uv' ์„ค์น˜ (HFS๊ฐ€ 'uv'๋ฅผ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ)
RUN pip install uv
# 4. '์‡ผํ•‘ ๋ฆฌ์ŠคํŠธ' ๋จผ์ € ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ๋ณต์‚ฌ
COPY requirements.txt .
# 5. '์‡ผํ•‘ ๋ฆฌ์ŠคํŠธ'๋Œ€๋กœ ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ์„ค์น˜
RUN uv pip install -r requirements.txt --system
# 6. ๋‚˜๋จธ์ง€ ๋ชจ๋“  ์ฝ”๋“œ(.py ํŒŒ์ผ ๋“ฑ)๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ๋ณต์‚ฌ
COPY . .
# 7. HFS๊ฐ€ ์ ‘์†ํ•  ํฌํŠธ ๋ฒˆํ˜ธ '7860'์„ ์—ฐ๋‹ค๊ณ  ์•Œ๋ ค์คŒ (HFS ๊ถŒ์žฅ ํฌํŠธ)
EXPOSE 7860
# 8. ์ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ผœ์ง€๋ฉด, ์ž๋™์œผ๋กœ ์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ์„œ๋ฒ„ ์ผœ๊ธฐ
# (HFS๋Š” 7860 ํฌํŠธ๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค)
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]