개발 이야기/실무 Recipe
konlpy + fastapi Docker Image로 머신러닝 환경 구축하기
송하명
2021. 4. 14. 02:24
konlpy에서 자바를 사용하기때문에 우분투 이미지를 베이스로, java와 python이 함께 깔려있어야 한다.
첫 설정에 어려움이 많아 docker image로 만들어 허브에 올려놓았다.
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"]