在Docker上部署Python的Flask框架的教程.pdf

在Docker上部署Python的Flask框架的教程.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Docker上部署Python的Flask框架的教程--第1页 在Docker上部署Python的Flask框架的教程 本⽂中,我将尝试展⽰⽤Docker开发python应⽤(主要是Web应⽤)的可⾏⽅法。虽然我本⼈专注于Python的Flask微框架, 但本⽂⽬的是演⽰如何通过Docker更好地开发和共享应⽤程序,(由任何语⾔和框架开发的应⽤程序)。Docker通过封装依 赖项,⼤⼤减少了开发环境和正式产品的差距。 ⼤多数Python开发⼈员在开发中使⽤。它提供了⼀种易⽤的机制让应⽤程序使⽤⾃⼰专⽤的依赖项,这些依赖项可能与在其 它应⽤程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同的库版本等等)。个⼈⽽⾔,我对virtualenv⼀直没有 太⼤兴趣,原因如下: 1. 我经常忘记启⽤它,或者在切换⼯程时忘记切换它,这会遇到含糊的出错信息,另⼈倍感困惑。 2. 它⽆法提供“纯粹的”隔离,只能是Python级别的隔离(系统库和⾮python的依赖项仍然会出问题)。 3. 我通常不想在正式产品中运⾏它,这就意味着在开发环境和正式产品的不⼀致。 4. 它让⼈感觉有点“⿊客”作法:它是依靠修改脚本和设置新路径实现的。 (查看了解更多为什么你可能不想⽤virtualenv ) 那么,怎么做Docker才能变得更好呢?Docker本质上提供了⾮常轻量化的VMs (在说法上可以称为“容器”),我们可以使⽤其 创建⼀个⾼标准隔离并能⼤⼤减少失配的开发和产品环境。(如果你不熟悉Docker,却还想学习更多,你可以查看我在爱丁 堡技术座谈会上)。 当我们建⽴⼀个⼩型的可视化Web APP ,我⾃⼰和Mark Coleman使⽤这种⽅法()。这(⾥⾯)划出了⼀个基本镜像安装 Python 2.7,还有⼀些Flask管理以及PostgreSQL的内容。我会依据这个镜像去开发⼀个hello world 的Web应⽤。我假设你是 在Linux上开发,并且你已经有git ,还安装了Docker,MacOS的指令应该⾮常类似。通过克隆和建⽴基本镜像开始: $ git clone /mrmrcoleman/python_webapp $ docker build -t python_webapp . 现在,我们需要为容器中添加⼀些代码并详细写明。我们打算新建⼀个仅仅指向Docker镜像的项⽬来完成这项⼯作,⽽不是 直接修改之前的项⽬。 创建⼀个具有下列结构的新项⽬: 复制代码代码如下: ├── Dockerfile ├── example_app │ ├── app │ │ ├── __init__.py │ │ └── views.py │ └── __init__.py ├── example_app.wsgi 在example_app/app/_init_.py 中写⼊: from flask import Flask app = Flask(__name__) from app import views 使另⼀个_init_.py为空。在views.py 中写⼊: from app import app @app.route(/) @app.route(/index) def index(): return Hello, World! 以上就是我们的⼀个hello world应⽤的最⼩flask版本。我在中也使⽤过类似的代码,所以如果你刚刚接触Flask或者Python, 你可以根据上述提到的教程,使⽤Docker⽽不是virtualenv继续学习。 在Docker上部署Python的Flask框架的教程--第1页 在Docker上部署Python的Flask框架的教程--第2页 为了使之运⾏在Docker容器内部,我们还需要做⼀些操作。在我们的实例Apache服务器中,example_app.wsgi ⽂件包含了连 接Python代码和web服务器的指令。该⽂件应当包含下列内容: import site site.addsitedir(/opt/example_app/) from app import app as application 最终,我们需要⼀个Dockerfile来构建容器并运⾏容器。在我们的实例中,它看起来是这样的: FROM python_webapp MAINTAINER amouat ADD example_app.wsgi /var/www/flaskapp

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档