栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

简单的Mac版Docker+Flask+Python接口

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单的Mac版Docker+Flask+Python接口

还是按着这篇简单的Mac版Docker封装需要传参的Python步骤走。

Docker+Flask+Python
  • 目录安排
  • Dockerfile
  • requirements.txt
  • gunicorn.conf.py
  • run_predict.py
  • src 文件夹
  • Docker 命令行
    • 装载建包
    • 运行docker
    • 导出
    • 导入

目录安排

目录安排如下所示,有四个文件和一个文件夹,Dockerfile就是指我们生成Docker时的设置文件,requirements.txt是指python环境下所需要的包,gunicorn.conf.py是网络启动的配置文件,run_predict.py是接口入口程序,src文件夹是指代码,来一个一个看。

Dockerfile
# 配置环境
FROM python:3.9
# 工作目录
WORKDIR ./docker_predict_S
# 从本来的路径拷贝到容器指定路径,这么写最省事
ADD . .
# 配置python环境库
RUN pip install -r requirements.txt
# 启动后台服务
ENTRYPOINT gunicorn run_predict:app -c gunicorn.conf.py
requirements.txt

这个文件如下

certifi==2022.5.18.1
flask==2.1.2
gunicorn==20.1.0
gevent==21.12.0
gunicorn.conf.py
workers = 1 # 定义同时开启的处理请求的进程数量,根据网站流量适当调整
worker_class = "gevent"   # 采用gevent库,支持异步处理请求,提高吞吐量
bind = "0.0.0.0:8000" # 这个还只能是0.0.0.0
timeout = 3600  # 设置超时时间为 120 秒
run_predict.py

外部暴露的接口文件,这里可以看flask教程,不难。

from flask import Flask
from flask import request
from flask import jsonify

# 从别的文件里引用,实例化一个类,方便下面调用
# from src import yingzhibiao_predict
# p = yingzhibiao_predict.predictt()


app = Flask(__name__)

@app.route("/predict_s", methods=["GET"])
def predict_s():
    # request.form.get:获取post请求的参数
    data = request.args.get('dic')
    return '这个文本就是' + data

# docker启动服务不会走main函数
if __name__ == '__main__':
    app.run()
src 文件夹

里面可以放一些资源文件,引用要注意路径。

Docker 命令行

把Mac的Docker程序先运行起来,看下里面有没有镜像在跑,没有。

装载建包
sudo docker build -t demo_flask:v1 .

截图如下所示

运行docker
sudo docker run -it --rm -p 8000:8000 demo_flask:v1

在浏览器输入http://127.0.0.1:8000/predict_s?dic=adasd就可以了。

导出

先把刚运行的容器关闭下,全关了镜像状态就是不用了,再导出。

导出的命令

docker save -o demo_flask.tar demo_flask:v1

文件夹里就有文件了

老规矩,删了重新导入看看

docker rmi 镜像id

导入

导入,再运行,就酱

docker load -i demo_flask.tar


浏览器也可以了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号