File size: 1,153 Bytes
e5d7763
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Python 3.9-slim ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
FROM python:3.9-slim

# non-root ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
RUN useradd -m -u 1000 appuser
USER appuser

ENV PATH="/home/appuser/.local/bin:${PATH}"
WORKDIR /app

# ์˜์กด์„ฑ ํŒŒ์ผ(requirements.txt)์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
COPY --chown=appuser ./requirements.txt requirements.txt

# Python ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
RUN pip install --no-cache-dir --upgrade -r requirements.txt

# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค (main.py, index.html, style.css, script.js).
COPY --chown=appuser . .
# ์œ„ COPY . . ์€ ํ˜„์žฌ Docker ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ(๋กœ์ปฌ์˜ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ)์˜ ๋ชจ๋“  ๋‚ด์šฉ์„
# ์ปจํ…Œ์ด๋„ˆ์˜ WORKDIR(/app)๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ˆ˜์‹  ๋Œ€๊ธฐํ•  ํฌํŠธ๋ฅผ Docker์— ์•Œ๋ฆฝ๋‹ˆ๋‹ค.
# Hugging Face Spaces๋Š” ์ด ํฌํŠธ(7860)๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
EXPOSE 7860

# ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์‹คํ–‰ํ•  ๋ช…๋ น์ž…๋‹ˆ๋‹ค.
# main.py ํŒŒ์ผ์— ์ •์˜๋œ app ๊ฐ์ฒด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
# ํฌํŠธ 7860์œผ๋กœ ๋ชจ๋“  ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]