기록/CI&CD

[NLP] Docker로 Konlpy 사용하는 Flask 배포

5월._. 2022. 9. 23.
728x90

konlpy는 자바 라이브러리를 내부적으로 실행시키기 때문에 파이썬 코드라도 자바환경이 갖춰져야한다. 하지만 플라스크 배포 시에는 어떻게 해야할 지 방법이 잘 나와있지 않아서 여기저기 자료를 찾아보고 해결한 결과를 정리해둔다.

 

이 글을 읽기 앞서서, 플라스크의 구조는 [이 방식]으로 구성했다.

 

1. requirements.txt

pip로 이 두 가지를 설치해야한다.

JPype1 == 1.4.0
konlpy == 0.6.0 

 

2. main.py

내 플라스크 api일부이다. 이것처럼 konlpy의 라이브러리를 쓰기전에 jpype.attachThreadToJVM()를 호출해야한다.

 

3. Dockerfile

자바랑 파이썬 같이 있는 이미지를 불러와야한다. openjdk:slim을 사용하면 자바와 파이썬이 동시에 있는 이미지를 사용할 수 있다.

# java and python
FROM openjdk:slim
COPY --from=python:3.7 / /

WORKDIR /usr/src/app

COPY . .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

EXPOSE 5000
CMD ["python", "./waitress_server.py"]

댓글