【python docker部署】docker 部署 Flask服务

Docker是一个用于开发,发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

1、docker安装

一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

2、docker 部署Flask 服务

创建文件夹docker_test,执行命令:touch docker_test

进入文件夹
cd docker_test

在该目录文件夹下,创建项目文件夹 py-flask-ml-score-api
mkdir py-flask-ml-score-api

(base) [root@HK-AI docker_test]# tree -a
.
├── py-flask-ml-score-api
│ ├── api.py
│ ├── Dockerfile
│ └── requirements.txt
└── run.sh

1 directory, 4 files
(base) [root@HK-AI docker_test]#

py-flask-ml-score-api 放置三个文件
api.py
Dockerfile
requirements.txt

api.py 内容如下:

from flask import Flask, jsonify, make_response, request
app = Flask(__name__)
@app.route('/score', methods=['POST'])

def score():

    features = request.json['X']

    return make_response(jsonify({'score': features}))

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

Dockerfile 内容如下:

FROM python:3.6-slim

WORKDIR /usr/src/app

COPY . .

RUN pip install pipenv

RUN pipenv install

RUN pip install --trusted-host pypi.python.org -r requirements.txt

EXPOSE 5000
CMD ["pipenv", "run", "python", "api.py"]

requirements.txt 编写依赖包,内容如下:

Flask

3、构建docker 镜像

docker build --tag test1  py-flask-ml-score-api

4、运行docker镜像

docker run --rm --name test-api -p 5000:5000 -d test1

5、查看Flask服务是否启动成功

docker ps -a

6、查看docker 全部镜像

docker images

7、发送post请求,验证flask 服务

curl http://172.16.1.224:5000/score -X POST -H "Content-type:application/json" -d '{"X": [1, 2]}'

返回结果:{“score”:[1,2]}

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页