hiddenFront commited on
Commit
a7bbba3
ยท
verified ยท
1 Parent(s): c121627

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +40 -12
Dockerfile CHANGED
@@ -1,16 +1,43 @@
 
1
  FROM python:3.9-slim
2
 
3
- # ํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜
4
- RUN apt-get update && apt-get install -y git
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
  # ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •
7
  WORKDIR /app
8
 
9
- # requirements ๋จผ์ € ๋ณต์‚ฌ
 
10
 
11
- # requirements ์„ค์น˜ (kobert_tokenizer ์ œ์™ธ)
12
- RUN pip install --no-cache-dir --upgrade pip \
13
- && pip install --no-cache-dir --upgrade \
 
 
 
 
14
  fastapi \
15
  uvicorn \
16
  torch==1.13.1 \
@@ -21,11 +48,12 @@ RUN pip install --no-cache-dir --upgrade pip \
21
  protobuf==3.20.3 \
22
  psutil \
23
  gluonnlp==0.10.0 \
24
- mxnet-mkl==1.6.0 \
25
- && pip install git+https://github.com/SKTBrain/KOBERT#egg=kobert_tokenizer\&subdirectory=kobert_tokenizer
26
 
27
- # ์ „์ฒด ์ฝ”๋“œ ๋ณต์‚ฌ
28
- COPY . .
29
 
30
- # FastAPI ์‹คํ–‰
31
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
1
+ # Python 3.9 Slim ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
2
  FROM python:3.9-slim
3
 
4
+ # ํ•„์ˆ˜ ํŒจํ‚ค์ง€ ๋ฐ ๋นŒ๋“œ ๋„๊ตฌ ์„ค์น˜
5
+ # apt-get update: ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ
6
+ # git: GitHub ์ €์žฅ์†Œ ํด๋ก ์— ํ•„์š”
7
+ # build-essential: C/C++ ์ปดํŒŒ์ผ๋Ÿฌ (gcc, g++ ๋“ฑ) ๋ฐ ๊ธฐํƒ€ ๋นŒ๋“œ ๋„๊ตฌ ํฌํ•จ
8
+ # curl: Rust ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด๋กœ๋“œ์šฉ
9
+ # libffi-dev, libssl-dev: ์ผ๋ถ€ Python ํŒจํ‚ค์ง€(์˜ˆ: cryptography) ๋นŒ๋“œ ์‹œ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
10
+ RUN apt-get update && apt-get install -y --no-install-recommends \
11
+ git \
12
+ build-essential \
13
+ curl \
14
+ libffi-dev \
15
+ libssl-dev \
16
+ && rm -rf /var/lib/apt/lists/* # apt ์บ์‹œ ์ •๋ฆฌํ•˜์—ฌ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์ค„์ด๊ธฐ
17
+
18
+ # Rust ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์น˜ (tokenizers ๋นŒ๋“œ์šฉ)
19
+ # rustup์€ Rust ๋„๊ตฌ ์ฒด์ธ ๊ด€๋ฆฌ์˜ ๊ณต์‹์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
20
+ # -y: ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ์— 'yes'๋กœ ์ž๋™ ์‘๋‹ต
21
+ # --default-toolchain stable: ์•ˆ์ •์ ์ธ ์ตœ์‹  ํˆด์ฒด์ธ ์„ค์น˜
22
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
23
+
24
+ # Rust์˜ ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ถ”๊ฐ€
25
+ # rustup์€ ๊ธฐ๋ณธ์ ์œผ๋กœ /root/.cargo/bin์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
26
+ ENV PATH="/root/.cargo/bin:${PATH}"
27
 
28
  # ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •
29
  WORKDIR /app
30
 
31
+ # ์ „์ฒด ์ฝ”๋“œ ๋ณต์‚ฌ (requirements.txt, main.py, .pkl ํŒŒ์ผ ๋“ฑ)
32
+ COPY . .
33
 
34
+ # Python ํŒจํ‚ค์ง€ ์„ค์น˜
35
+ # pip ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜์—ฌ ์ตœ์‹  pip์ด wheel ํŒŒ์ผ์„ ์ž˜ ์ฐพ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
36
+ RUN pip install --no-cache-dir --upgrade pip
37
+
38
+ # ๋‚˜๋จธ์ง€ ํŒจํ‚ค์ง€ ์„ค์น˜
39
+ # --no-cache-dir: ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.
40
+ RUN pip install --no-cache-dir \
41
  fastapi \
42
  uvicorn \
43
  torch==1.13.1 \
 
48
  protobuf==3.20.3 \
49
  psutil \
50
  gluonnlp==0.10.0 \
51
+ mxnet-mkl==1.6.0
 
52
 
53
+ # kobert_tokenizer๋Š” Git ์ €์žฅ์†Œ์—์„œ ์„ค์น˜ํ•˜๋ฏ€๋กœ ๋ณ„๋„ ๋ช…๋ น์œผ๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
54
+ RUN pip install --no-cache-dir git+https://github.com/SKTBrain/KOBERT#egg=kobert_tokenizer\&subdirectory=kobert_tokenizer
55
 
56
+ # FastAPI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
57
+ # --host 0.0.0.0: ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ ‘๊ทผ ํ—ˆ์šฉ
58
+ # --port 7860: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ˆ˜์‹ ํ•  ํฌํŠธ (Render๋Š” $PORT ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, Dockerfile์—์„œ๋Š” ๊ณ ์ • ํฌํŠธ ์„ค์ •)
59
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]