Infra/MLops

[Docker][Flask]flask web docker image,container만들어 배포하기.

뚜둔뚜둔 2022. 1. 20. 17:53

 

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 build가 진행중


# image가 올라왔는지 확인
docker images

image 가 뜸

# contaier 로 만들기
docker run -it --name flask-container <imageID>

flask 웹서버가 잘 올라온것을 확인 할 수 있음.

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