koh1018 commited on
Commit
6cbb5c6
ยท
1 Parent(s): 34f160a

dockerfile fix

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -10
Dockerfile CHANGED
@@ -1,17 +1,27 @@
1
- # 1. ๊ธฐ๋ฐ˜์ด ๋  ๊ณต์‹ ํŒŒ์ด์ฌ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •. 3.9 ๋ฒ„์ „ ์ด์ƒ์ด๋ฉด ์•ˆ์ •์ .
 
 
2
  FROM python:3.9
3
 
4
  # 2. ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•  ์ž‘์—… ํด๋”๋ฅผ ๋งŒ๋“ฆ.
5
- WORKDIR /code
 
 
 
 
 
 
 
 
 
 
6
 
7
- # 3. requirements.txt ํŒŒ์ผ์„ ๋จผ์ € ๋ณต์‚ฌํ•ด์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜.
8
- # ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๋Š” ๋น„ํšจ์œจ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Œ.
9
- COPY ./requirements.txt /code/requirements.txt
10
- RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
11
 
12
- # 4. ํ˜„์žฌ ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ(app.py ๋“ฑ)์„ ์ž‘์—… ํด๋”๋กœ ๋ณต์‚ฌ.
13
- COPY . .
14
 
15
- # 5. ๋ชจ๋“  ์ค€๋น„๊ฐ€ ๋๋‚˜๋ฉด, ์ด ๋ช…๋ น์–ด๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰.
16
- # ํŒŒ์ผ ์ด๋ฆ„์ด app.py ์ด๋ฏ€๋กœ 'app:app'์„ ์‚ฌ์šฉ.
17
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # Best Practice Dockerfile v2.0
2
+
3
+ # 1. ๊ธฐ๋ฐ˜์ด ๋  ๊ณต์‹ ํŒŒ์ด์ฌ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •.
4
  FROM python:3.9
5
 
6
  # 2. ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•  ์ž‘์—… ํด๋”๋ฅผ ๋งŒ๋“ฆ.
7
+ WORKDIR /app
8
+
9
+ # 3. ๋ณด์•ˆ์„ ์œ„ํ•ด ๊ถŒํ•œ์ด ์ œํ•œ๋œ ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž(user)๋ฅผ ์ƒ์„ฑ.
10
+ RUN useradd -m -u 1000 user
11
+ USER user
12
+
13
+ # ์บ์‹œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ non-root ์œ ์ €๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ์•ฑ ๋‚ด๋ถ€ ํด๋”๋กœ ์ง€์ •.
14
+ ENV HF_HOME /app/huggingface_cache
15
+
16
+ # 5. ์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •.
17
+ ENV PATH="/home/user/.local/bin:${PATH}"
18
 
19
+ # 6. requirements.txt ํŒŒ์ผ์„ 'user' ์†Œ์œ ๋กœ ๋ณต์‚ฌํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜.
20
+ COPY --chown=user ./requirements.txt requirements.txt
21
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
22
 
23
+ # 7. ํ˜„์žฌ ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ์„ 'user' ์†Œ์œ ๋กœ ์ž‘์—… ํด๋”์— ๋ณต์‚ฌ.
24
+ COPY --chown=user . /app
25
 
26
+ # 8. ๋ชจ๋“  ์ค€๋น„๊ฐ€ ๋๋‚˜๋ฉด, 'app.py' ํŒŒ์ผ์˜ 'app'์„ uvicorn์œผ๋กœ ์‹คํ–‰.
 
27
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]