大家好,我是陈哥~~~(文末赠送三本资料书免运费)
前提:相信本文的读者应该已经了解了Docker的安装以及Docker的基本使用。 如果你还不知道怎么做,可以参考我之前的文章详细学习!
1.安装版:2300+字! 在不同系统上安装Docker!看这篇文章就够了
2.使用版本:你会学Docker吗?不妨看看这篇文章
学完了Docker,明天我们就来讲解如何在docker中部署我们的python程序! (右图是讲解docker安装时,会有推文讲解python程序的部署,明天实现)
01
Flask 网络项目
陈哥用了之前的一个简单的项目来演示(Flask结合ECharts实现治疗效果在线可视化,超级详细!)。 这是用flask编译的网页。 其功能是:网页的在线可视化。 网页界面如下:
本文以此项目为例部署到docker。 为了您的方便,还向您提供了该网页的完整源代码。
源码地址:
Web程序目录结构:
网页程序的介绍已经完成,现在开始部署~
02
部署到docker
1.生成requirement.txt
Flask Web程序需要依赖一些Python库。 为了方便在docker上安装,必要的库被集成到requirement.txt中。
进入终端中的项目目录,执行以下目录,生成requirement.txt
pip freeze > requirements.txt
复制
生成的requirement.txt如下:
这里有很多flask不需要使用的库。 不需要的我们会删除~
由于我只在我的 Flask Web 程序中使用这两个库,所以只剩下两个了。
2. 创建 Dockerfile
Flask web程序放在Chenge文件夹下(后面生成的requirement.txt也在Chenge文件夹下),Chenge文件夹放在0714文件夹下。
然后在0714文件夹下(与Chenge文件夹同级)新建一个Dockerfile文件。
什么是 Dockerfile? Dockerfile 是一个文本文件,其中一一包含指令。 有了Dockerfile,我们就可以创建我们需要的镜像了。
编辑 DockerFile 文件
#设置python环境镜像
FROM python:3.6
#代码添加到Chenge文件夹,code不需要新建(docker执行时自建)
ADD ./Chenge /code
# 设置code文件夹是工作目录
WORKDIR /code
# 安装相应的python库
RUN pip install -r requirements.txt
CMD ["python", "/code/main.py"]
复制
上述Dockerfile中的命令如下: 1.设置python版本 2.Flask web程序目录 3.Docker工作目录 4.安装web程序执行所需的库 5.执行python程序(web程序主程序)
3.创建镜像chenge_image
提醒:将0714文件夹上传到服务器(如果docker安装了远程服务器)
进入终端中的0714文件夹,先查看当前镜像。
docker images
复制
可以看到目前有两个docker镜像。 现在我们开始创建Web程序图像chenge_image
docker build -t chenge_image .
复制
创建过程如下:
可以看到正在拉取python3.6的环境,安装flask库等。
再看一下docker的所有镜像
可以看到我们的图片 chenge_image 已经存在了。
4.启动容器
docker run -it -p 5000:5000 --name=chenge chenge_image
复制
-it:表示交互式终端容器,非启动后立即结束的容器 -p 是端口映射网站 生成 程序,表示将docker的5000端口映射到本机的5000端口 --name 给容器起一个名字,这里命名为chenge
开始效果:
启动界面和我们本地启动没有什么区别!
提醒:1、这里的172.17.0.2是docker的容器IP(实际上是我们本机/服务器的外部IP)。 2、建议flask程序中的host设置为0.0.0.0,否则可能难以访问。 案件
Flask Web 程序中的主机设置
5.访问网页
访问链接:我的本地IP是192.168.31.196,所以访问链接是::5000/pie-nest。 如果是远程服务器,则使用网段IP
可以看到网页访问成功,但是页面样式没有问题。 这样我们的web程序就成功部署docker了。
03
概括
本文详细讲解了python程序部署到docker上网站 生成 程序,并附有步骤截图。 这是超级详细的。 如果您不知道如何做,您会发现这是一个动手练习! ! ! !
最后一句话:原创不易,请点赞