Gunicorn+Flask+Docker初体验

发布于:2024-07-09 ⋅ 阅读:(116) ⋅ 点赞:(0)

1. 什么是 Gunicorn?

Gunicorn 是一个 Python WSGI 服务器,可以用来部署 Python Web 应用程序。它提供了高性能、高可用性和灵活的配置选项。

2. 什么是 Flask?

Flask 是一个轻量级的 Python Web 框架,提供了灵活的路由、模板引擎和请求对象等功能。它是构建 Web 应用程序的理想选择。

3. 什么是 Docker?

Docker 是一个容器化的解决方案,允许开发者将应用程序和依赖项打包到一个容器中,然后在任何支持 Docker 的环境中运行。它提供了高效的开发、测试和部署体验。

4. Gunicorn+Flask+Docker 入门案例

4.1 创建 Flask 应用程序

首先,创建一个新的目录,例如 myflaskapp,然后创建 app.py 文件:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/', methods=['GET'])
def hello_world():
    return jsonify({'message': 'Hello, World!'})

if __name__ == '__main__':
    app.run(debug=True)

这个示例中,我们创建了一个简单的 Flask 应用程序,提供了一个 / 路由,返回一个 JSON 对象。

4.2 创建 Dockerfile

创建一个新的文件 Dockerfile,用于构建 Docker 镜像:

FROM python:3.9-slim

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["gunicorn", "-w 4", "app:app"]

这个示例中,我们从 Python 3.9 的 slim 镜像开始,然后安装依赖项,复制应用程序代码,最后设置容器启动命令为 Gunicorn 服务器。

4.3 创建 requirements.txt 文件

创建一个新的文件 requirements.txt,用于记录应用程序的依赖项:

Flask==2.0.1
gunicorn==20.1.0

这个示例中,我们记录了 Flask 和 Gunicorn 两个依赖项。

4.4 构建 Docker 镜像

使用以下命令构建 Docker 镜像:

docker build -t myflaskapp .

这个命令将使用 Dockerfile 文件构建一个名为 myflaskapp 的 Docker 镜像。

4.5 运行 Docker 容器

使用以下命令运行 Docker 容器:

docker run -p 5000:5000 myflaskapp

这个命令将运行容器,并将容器的端口 5000 映射到宿主机的端口 5000。

4.6 访问应用程序

使用浏览器访问 http://localhost:5000,可以看到应用程序的响应结果:

{
  "message": "Hello, World!"
}

这个示例中,我们使用 Gunicorn+Flask+Docker 构建了一个简单的 Web 应用程序,可以在 Docker 容器中运行。


网站公告

今日签到

点亮在社区的每一天
去签到