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

Dockerfile fix

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