Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +40 -12
Dockerfile
CHANGED
|
@@ -1,16 +1,43 @@
|
|
|
|
|
| 1 |
FROM python:3.9-slim
|
| 2 |
|
| 3 |
-
# ํ์ ํจํค์ง ์ค์น
|
| 4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
# ์์
๋๋ ํ ๋ฆฌ ์ค์
|
| 7 |
WORKDIR /app
|
| 8 |
|
| 9 |
-
# requirements
|
|
|
|
| 10 |
|
| 11 |
-
#
|
| 12 |
-
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
| 29 |
|
| 30 |
-
# FastAPI ์คํ
|
| 31 |
-
|
|
|
|
|
|
|
|
|
| 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"]
|