分享好友 最新动态首页 最新动态分类 切换频道
Docker构建Python Web环境
2024-12-27 04:10

出于寻找Docker对Python相关项目部署的学习,找到腾讯课堂NEXT公开课中【Docker构建Python Web环境】的课程,本文对其进行内容梳理及知识点汇总。

该课程总计6小时左右,是个适合小白入门Docker部署的基础课程。课程主要章节内容如下:

系统及软件配置:

Win10 + CentOS7 + Python3 + MySQL8 + PyCharm  + VMware15 pro + MobaXterm + Navicat Premium 12

 

一、基础篇

1、CentOS默认安装了Python2,可以再安装Python3,原有Python2不做卸载,CentOS7存在对Python2程序依赖。

2、yum命令不能直接安装Python,需先安装epel源

3、Linux各文件夹含义

4、常用Linux命令

二、Web篇

1、Flask框架跟Django比起来是一个轻量级的Web框架,它可以通过第三方扩展增加功能。

2、Flask有非常多的扩张库,开发者可以自由选择安装:

3、Flask框架优点:

  1. 入门简单,可以通过官方指南便可以清楚的了解Flask的运作留存
  2. 支持MVC模型(Model-View-Controller)
  3. Falsk可以兼容多种数据库、模板
  4. Flask的路由以及路由函数由修饰器设定,开发人员不需要借助其他文件匹配

 4、MVC模式:一个复杂的软件系统,通过抽象成模型层(Model)、视图层(View)和控制层(Controller),划分出明确的职责

 

 5、Flask项目的蓝图功能可以把WEB函数定义到不同的模块中

 

 6、Flask定义模块文件:首先创建Python文件,然后创建蓝图对象(Blueprint),把Web函数注册到蓝图对象上面,最后再把蓝图对象注册给Flask对象。

7、Flask模块语言:

  1. Flask支持动态页面技术,在后台渲染出动态HTML页面
  2. Jinja2是Python下一个被广泛应用的模板引擎,语法简单易学
  3. Flask中的模板文件存放在templates目录,图片、样式和脚本存放在static目录

8、WEB方法中,render_template()函数用来把模板文件渲染成动态HTML

 

 9、模板文件中,双大括号({{变量/表达式}})可以对模板页面插值

 

 10、部署Python项目的时候,为了不泄露Python程序代码,所有我们要编译Python程序(pycharm项目文件夹会自动生成pyc文件)

 

 11、Flask只允许本机访问5000端口,如果外机访问,需修改python源代码,app.run(host='0.0.0.0')

12、Linux开发5000端口持久生效:

 三、Docker篇

 1、虚拟化部署环境的重要性:

  1. 直接把程序按照或者部署在Linux操作系统上,很容易引发资源冲突(比如CentOS自带MariaDB数据库,再安装MySQL数据库会冲突)
  2. 程序卸载不干净,导致无法安装或部署新程序
  3. 每次部署之前要安装很多软件,修改复杂的配置文件
  4. 无法让服务器硬件资源实现多租户服务
  5. 增大了在Linux系统上部署集群和分布式的难度

2、Vmware和Docker对比:

  1. Vmare是重量级虚拟机,每个虚拟实例都虚拟了完整的硬件环境,所以对硬件要求较高
  2. Docker是轻量级虚拟机,只虚拟了少量的硬件设备,虚拟实例共享使用Linux内核

 

3、Docker是跨平台的轻量级虚拟机,但是在Window和MacOS上面有部分功能无法使用(Win10 有内置Linux虚拟机,故能运行Docker)

4、云计算中的Docker虚拟机:

 

5、SELINUX是CentOS系统捆绑的安全服务程序,因为安全策略太过严格,建议关闭,修改/etc/selinux/config文件,设置SELINUX=disabled

6、使用yum命令安装Docker服务即可

 

7、DockerHub是Docker公共镜像仓库,为用户提供大量的镜像文件:https://hub.docker.com/,由于国内网络访问DockerHub很慢,无法下载镜像文件,可以使用Docker加速器:

8、Docker 包含三个基本概念,分别是镜像(Image)、容器(Container)和仓库(Repository)。镜像是 Docker 运行容器的前提,仓库是存放镜像的场所。

9、什么是镜像:

  1. 为了快速打包和部署软件环境,Docker引入镜像机制
  2. 镜像是一个配置好的只读层软件环境
  3. 我们可以通过dockerfile文件创建出镜像,也可以从Docker仓库中下载到镜像

10、什么是容器:

  1. 容器是镜像基础之上创建出的虚拟实例,内容可读可写
  2. 一个Docker镜像可以创建出多个容器,而且容器直接相互隔离,部署的程序不会相互干扰
  3. 所有的容器直接使用书主机的Linxux内核、内存和硬盘,所以容器的性能非常接近于宿主机

11、常用Docker命令:

 

 

12、Docker网络环境:容器默认会分配动态IP地址,会导致下次启动容器时候IP地址发生变化,因此可以创建一个Docker内部网段:

 

13、创建容器示例(容器使用端口映射/目录挂载/网络分配技术):

 

14、容器安装flask,可以使用国内镜像加快速度(sqlalchemy / mysql-connector-python):

 

15、用docker pull命令下载MySQL镜像(为确保部署没问题,Win端与Linux的各软件版本应尽量保持一致)

 

 16、创建MySQL容器:

 

17、创建Session类(用来连接数据库)

 

18、执行查询语句:先创建Session对象,然后才可以执行SQL语句,最后还要关闭数据库连接

 

补充常用Docker命令

  

最后补下课程链接:

最新文章
西安微信小程序注册事项
说到微信小程序,可以说是这几年挺流行的。特别是因为小程序不需要下载任何软件,可以随身使用,非常方便。所以一旦上市,就受到很多朋友的喜欢。不过可能有朋友认为只有技术人员才能注册微信小程序。其实这个想法并不是特别正确,只要掌握
汽修工具品牌排行榜前十名每年变化大吗
汽修工具品牌排行榜前十名每年变化大吗?变化不算特别大。目前常见的前十名品牌有世达/SATA、博世/BOSCH、绿林/greener、史丹利/STANLEY、德力西/DELIXI、长城精工、捷科/JETech、宝工/Pro’sKit、得力工具、钢盾/SHEFFIELD 。像世达,它是
使用 Python 爬虫抓取汽车品牌市场数据:销量、广告与消费者反馈
在现代商业环境中,数据已经成为最重要的资产之一,尤其在汽车行业。汽车制造商、经销商以及广告商都依赖于市场数据来优化他们的营销策略、产品开发和品牌定位。对于研究汽车行业的市场趋势和消费者反馈,抓取不同汽车品牌的市场销量、广告
这一抹红色,是从未忘却的纪念
它是飘落在地球上的一根红飘带是贵州旅游打卡的新地标它是什么?全国首个以长征为主题的全域行浸式数字科技体验馆“红飘带”项目9259如果奇迹有颜色那一定是中国红那,这样的红色你见过吗?它取自赤水河边的泥岩之色象征长征的艰辛历程和革
百度推广和安全联盟认证已被取消,现为百度信誉V认证
目前,在百度搜索框中输入某些关键词并搜索到一些自然网站排名时,把鼠标移动到百度推广蓝色V认证上面,发现没有显示百度推广身份认证和安全联盟认证字样,而是显示V已经通过百度信誉认证。由此看来,百度已经将百度推广认证和安全联盟认证
抖音信息流和内容热推的区别?抖音信息流价格分析软件
抖音广告投放策略比较:信息流和内容热推摘要:抖音作为当前流行的短视频平台,广告投放已经成为企业推广的重要手段。其中,信息流和内容热推是两种主要的广告投放策略。本文将从四个方面详细对比这两种策略的特点和应用场景,帮助企业更好
外贸SOHO建站报价——建个个人外贸网站多少钱
很多外贸SOHO和企业都需要建立外贸网站作为品牌推广的重要平台。因此,如果我们想知道建立一个外贸网站的价格,开发外贸网站Ueeshop可以跟大家一起看看都包含了哪一些内容。对于需要建立外贸网站的用户来说,他们可以看到很多不同的价格,
松鼠AI智能学习机:高效全科辅导新选择
松鼠AI智能学习机是一款高效全科辅导新选择,它结合了人工智能技术和教育知识体系,可以帮助学生自主学习、提高学习效率。松鼠AI智能学习机拥有多种学科的课程,包括语文、数学、英语、科学等,覆盖了小学到初中各年级的内容。学生可以根据
语音直播聊天系统开发(APP、公众号、小程序)
2015年01月15日潘锦霖系统开发,软件开发,APP开发,源码搭建,定制软件,社交电商,云电商,新媒体电商,O2O,F2C,B2C,B2B2C,F2B2C,C2B,B2C2N,S2B2C,微商城,App,手机网页,PC商城,小程序,微商管理系统,扫码红包,质量追溯,分销系统, 全返系统,分红系
用AI轻松生成超逼真美女写真,这款工具你一定要试!
在这个科技飞速发展的时代,AI生成技术的应用已经渗透到我们生活的各个角落。尤其是在摄影和艺术创作领域,AI工具带来了前所未有的便捷与可能性。想象一下,不用外出,只需要在你的手机或电脑屏幕前,就可以生成各类超逼真的美女写真,不再
相关文章
推荐文章
发表评论
0评