konlpy에서 자바를 사용하기때문에 우분투 이미지를 베이스로, java와 python이 함께 깔려있어야 한다.
첫 설정에 어려움이 많아 docker image로 만들어 허브에 올려놓았다.
필요 조건
- 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"]
'개발 이야기 > 실무 Recipe' 카테고리의 다른 글
가장 빠른 머신러닝 앱 배포하기 | fastapi, gunicorn, nginx 로 lightsail에 배포하기 (0) | 2021.04.14 |
---|---|
AWS LightSail에서 Docker 설치하기 | 설치 오류 해결 (0) | 2021.04.02 |
여러 개의 docker-compose 파일 사용하기 | multiple docker-compose files (0) | 2021.03.18 |
Zapier로 Google Form과 Slack 연동하기 | 구글 폼 응답 올 때마다 슬랙 알림 오게 하는 방법 (0) | 2021.03.06 |
github action cache 하기 | 매번 build 하신다고요? (0) | 2021.03.03 |