安全矩阵

 找回密码
 立即注册
搜索
查看: 2700|回复: 0

【保姆级】Python项目(Flask网页)部署到Docker的完整过程

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-7-17 09:03:43 | 显示全部楼层 |阅读模式
原文链接:【保姆级】Python项目(Flask网页)部署到Docker的完整过程

Flask网页项目
本文作者辰哥以之前的一个简单的项目来进行演示(Flask结合ECharts实现在线可视化效果,超级详细!),这个是用flask编写的一个网页,其功能:网页在线可视化。网页界面如下:

本文以这个项目为例部署到docker,为了大家方便学习,这里也将这个网页完整源码给大家
源码地址:
https://gitee.com/lyc96/flash-visualization
网页程序目录结构:

网页程序的情况就介绍完毕了,现在开始部署~
02
部署到docker
1.生成requirement.txtFlask网页程序中需要依赖一些Python库,为了方便在docker上进行安装,所以将需要的库整合到requirement.txt中。
在终端中进入到项目目录下,执行下面的目录,生成requirement.txt
  1. pip freeze > requirements.txt
复制代码


生成的requirement.txt如下:

这里包含很多flask不需要用到的库,咱们把不需要的删除~

因为我的flask网页程序中,只用到了这两个库,因此留下的仅有两个。
2.创建Dockerfile
Flask网页程序放在Chenge文件夹中(前面生成的requirement.txt也在Chenge文件夹中),将Chenge文件夹放到0714文件夹中。
接着在0714文件夹下新建一个Dockerfile文件(和Chenge文件夹同级)。
什么是Dockerfile?
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),有了 Dockerfile,就可以创建我们所需要的镜像
编辑DockerFile文件
Dockerfile里面命令大意是:
  1. #设置python环境镜像
  2. FROM python:3.6

  3. #代码添加到Chenge文件夹,code不需要新建(docker执行时自建)
  4. ADD ./Chenge  /code

  5. # 设置code文件夹是工作目录
  6. WORKDIR /code

  7. # 安装相应的python库
  8. RUN pip install -r requirements.txt

  9. CMD ["python", "/code/main.py"]

复制代码
1、设置python版本
2、flask网页程序目录
3、docker工作目录
4、安装网页程序执行所需的库
5、执行python程序(网页程序主程序)
3.创建镜像chenge_image提醒:将0714文件夹上传到服务器(如果docker安装远程服务器)
在终端中进入到0714文件夹中,先查看一下当前的镜像
  1. docker images
复制代码



可以看到当前docker有两个镜像,现在我们开始创建网页程序镜像chenge_image
  1. docker build -t chenge_image .
复制代码


创建过程如下:

可以看到正在拉取python3.6的环境,安装flask库等
再看一下docker的所有镜像

可以看到咱们的镜像chenge_image就已经存在了
4.启动容器
  1. 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网页程序中host的设置

5.访问网页
访问链接:
我的本机ip为192.168.31.196,因此访问链接为:
http://192.168.31.196:5000/pie-nest
如果是远程服务器,用公网ip

可以看到网页访问成功,并且页面样式这些都没问题。这样我们的网页程序就成功部署docker。
03
小结
本文详细讲解了python程序部署到docker,一步一截图,超级详细,不会的小伙伴,感觉动手练习!!!!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 10:39 , Processed in 0.012773 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表