본문 바로가기

개발 이야기/실무 Recipe

konlpy + fastapi Docker Image로 머신러닝 환경 구축하기

source: docker

 

konlpy에서 자바를 사용하기때문에 우분투 이미지를 베이스로, java와 python이 함께 깔려있어야 한다.

첫 설정에 어려움이 많아 docker image로 만들어 허브에 올려놓았다.

 

 

Docker Hub

 

Docker Hub

 

hub.docker.com

 

 

 

필요 조건

- requirements.txt (docker 내에서 uvicorn으로 실행하므로 uvicorn은 꼭 있어야 한다)

 

 

실행

- 도커 이미지 가져오기

docker pull roseline124/konlpy-fastapi

 

 

- 컨테이너 실행

docker run -d --name <컨테이너이름> -p 80:80 roseline124/konlpy-fastapi

 

 

 

dockerfile

FROM ubuntu:latest
LABEL maintainer="roseline124 <guseod24@gmail.com>"

ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
  apt-get install -y --no-install-recommends tzdata g++ curl

# install java
RUN apt-get install -y openjdk-8-jdk
ENV JAVA_HOME="/usr/lib/jvm/java-1.8-openjdk"

# install python
RUN apt-get install -y python3-pip python3-dev
RUN cd /usr/local/bin && \
  ln -s /usr/bin/python3 python && \
  ln -s /usr/bin/pip3 pip && \
  pip install --upgrade pip

# apt clean
RUN apt-get clean && \
  rm -rf /var/lib/apt/lists/*

# copy resources
COPY . .

# install python package
RUN pip install -r requirements.txt

EXPOSE 80

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]