Docker部署Flask应用

利用Docker部署Flask应用

1.首先准备一个小型的flask应用,如下。够简单吧!注意本次部署没有涉及到数据库及nginx代理等,实际情况下,应该是将这些服务部署到不同的服务器中。

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello_world():

return app.send_static_file('index.html')

if __name__ == '__main__':

app.run()

<!-- index.html文件内容 -->

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<title>Index</title>

</head>

<body>

<h1>hello world!</h1>

</body>

</html>

2.在项目目录下创建并编写Dockerfile文件,名字不能错啊。由于这个flask应用涉及的python包比较少,就没有制作requirements.txt文件。以下是项目目录结构与Dockerfile文件的内容:

  • COPY:COPY时,只将文件夹内容拷贝至WORKDIR中,不会拷贝flaskapp这个文件夹
  • EXPOSE:对外暴露5000端口
  • CMD:容器运行时执行shell的命令,这里使用gunicorn作为wsgi服务器

FROM python:3.8

WORKDIR /flask_test

COPY flaskapp .

RUN pip install flask gunicorn gevent

EXPOSE 5000

CMD gunicorn -w 2 app:app

3.shell终端cd到flask_test目录下,首先执行创建镜像命令。创建成功后,根据镜像,将容器运行起来。

docker build -t flask_app .

docker run -it --name flask_container -p 5000:5000 flask_app

执行结果如下:

4.此时在浏览器输入:127.0.0.1:5000,即可访问到容器内的flask应用了。

以上是 Docker部署Flask应用 的全部内容, 来源链接: www.h5w3.com/z/696847.html

回到顶部