使用Docker部署Python Flask(深度学习)应用

Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,实现快速部署和跨平台运行。本文将详细介绍如何使用Docker来部署Python Flask应用程序,帮助开发者更高效地构建和部署应用。

准备工作

在开始之前,我们需要确保服务器已经安装了Docker。
1、可以自己下载:Linux(Centos7)安装Docker 教程
2、也可以在宝塔的页面直接下载

创建Flask应用

首先,创建一个新的文件夹来存放Flask应用的代码。在该文件夹中,创建一个名为app.py的Python文件,并在其中编写以下代码:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return 'Hello, Flask!'
if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

上述代码创建了一个简单的Flask应用,当访问根路径时,返回"Hello, Flask!"。

requirements.txt

Flask==3.0.3
Flask_Cors==4.0.1
flask_restx==1.3.0
flask_sqlalchemy==3.1.1
numpy==1.24.4
opencv_python==4.8.1.78
Werkzeug==3.0.4
pandas==2.0.3
Pillow==11.0.0
ultralytics==8.0.208
Werkzeug==3.0.4
pymysql==1.0.2

使用pipreqs快速生成

安装

pip install pipreqs

在当前目录生成

pipreqs . --encoding=utf8 --force

注意--encoding=utf8为使用utf8编码,不然可能会报UnicodeDecodeError:'gbk’codec can’t decodebyte Oxae406:illegal multibyte sequence 的错误。
--force 强制执行,当生成目录下的requirements.txt存在时覆盖。

编写Dockerfile

接下来,我们需要编写一个Dockerfile来定义如何构建Docker镜像。在应用程序的根目录中创建一个名为Dockerfile的文件,并在其中编写以下内容:​​​​​​​


# 使用Python作为基础镜像
FROM python:3.9
# 设置工作目录
WORKDIR /app
# 复制应用代码到容器中
COPY . /app
# 安装依赖项
RUN apt-get update && apt-get install -y libgl1-mesa-glx

RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ --no-cache-dir -r requirements.txt
# 暴露应用端口
EXPOSE 5000
# 设置启动命令
CMD ["python", "run.py"]

上述Dockerfile文件中,我们使用了Python 3.9作为基础镜像,设置了工作目录为/app,并将应用代码复制到容器中。然后,通过pip install命令安装了应用的依赖项,同时使用了阿里云的镜像,下载速度更快,并通过EXPOSE指令暴露了应用的端口。最后,通过CMD指令设置了容器的启动命令。

在这里插入图片描述
即使是你项目中目录文件很多的,也是放置同样的位置。

构建Docker镜像

在命令行中,进入应用程序的根目录,并运行以下命令来构建Docker镜像:

docker build -t flask-app .

上述命令将根据Dockerfile文件构建一个名为flask-app的Docker镜像。构建过程可能需要一些时间,取决于你的网络状况和应用程序的大小。
在这里插入图片描述

运行Docker容器

构建完成后,我们可以使用以下命令来运行Docker容器:

docker run -p 8888:8888 flask-app

上述命令将会在服务器的8888端口上运行刚刚构建的Docker容器。你可以通过访问http://ip(服务器ip):8888来查看Flask应用的运行结果。

总结

通过本文的介绍,我们详细了解了如何使用Docker来部署Python Flask应用程序。首先,我们创建了一个简单的Flask应用,并编写了Dockerfile来定义如何构建Docker镜像。然后,我们使用docker build命令构建了Docker镜像,并使用docker run命令运行了Docker容器。使用Docker可以实现应用程序的快速部署和跨平台运行,大大提高了开发和部署的效率。希望本文对你理解和使用Docker部署Python Flask应用有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值