flask web docker image,container만들어 배포하기.
NLP Project 를 Flask로 만들었으며, 아래에 설치하는 내용들은 NLP Project 에 필요한 예시임
프로젝트에 적합한 package를 작성하여 설치하면 됨 !
flask project or git clone 한 곳에서 작업 시작.
1 .Dockerfiile 만들기.
Dockerfile 내용 : flaskProject 안에 들어갈 설치 내용이 들어간다.
FROM frolvlad/alpine-python-machinelearning:latest
RUN pip install --upgrade pip
WORKDIR /app
COPY . /app
RUN apk add build-base
RUN apk add --no-cache --virtual .build-deps g++ python3-dev libffi-dev openssl-dev && \
apk add --no-cache --update python3 && \
pip3 install --upgrade pip setuptools
RUN pip3 install -r requirements.txt
RUN python -m nltk.downloader punkt
EXPOSE 4000
ENTRYPOINT ["python"]
CMD ["app.py"]
설치가 필요한 파일들을 requirements.txt로 관리.
2. requirements.txt 작성
click==7.1.2
Flask==1.1.2
itsdangerous==1.1.0
Jinja2==2.11.2
joblib==0.16.0
MarkupSafe==1.1.1
nltk==3.5
python-dateutil==2.8.1
pytz==2020.1
regex==2020.6.8
six==1.15.0
threadpoolctl==2.1.0
tqdm==4.47.0
Werkzeug==1.0.1
이전에 설치한 같은 컨테이너와 이미지가 있다면, 삭제하고 진행
# dacoker container rm <containerID>
# dacoker image rm <imageID>
3. 이미지띄우기
Dockerfile 이 있는 곳에서 진행 -> ./ 사용
# docker image build
docker build -t flask-image:0.0.0 ./
# image가 올라왔는지 확인
docker images
# contaier 로 만들기
docker run -it --name flask-container <imageID>
flask 웹서버가 잘 올라온것을 확인 할 수 있다.
# contaier가 올라왔는지 확인
docker ps
반응형
'Infra > MLops' 카테고리의 다른 글
[Monitoring]Prometheus & Grafana (0) | 2022.01.25 |
---|---|
[workflows]Github Actions과 jenkins (0) | 2022.01.25 |
????[MLops][Flask] ml model serving 구현하기_(1) (0) | 2022.01.20 |
[MLops] Model Serving 이란? (0) | 2022.01.20 |
[Mlflow] MLflow 란? (0) | 2022.01.19 |