在 docker 中构建和部署 Flask 应用

dockeroperating systemopen source更新于 2026/1/6 5:37:17

Docker 允许您在容器内构建、管理和部署应用程序。它提供了一个打包的环境,并允许开发人员通过容器化应用程序来构建可移植的应用程序。您可以使用 Docker 这一技术轻松构建、管理 Flask 应用程序并使其可移植。您也可以使用类似的技术构建和部署其他 Python 框架。

在本文中,我们将讨论如何使用 Flask 构建一个简单的应用程序,并通过容器化将其转换为 docker 镜像。您可以按照以下步骤进行操作。

步骤

创建一个新的项目文件夹。我们将其命名为 flask_project。

移动到该目录并创建一个 Python 文件。我们将其命名为 app.py。

在该文件中编写一段简单的 Flask 代码。查看下面的代码。

#导入 Flask 模块
from Flask import import Flask

#创建一个 Flask 构造函数。它以当前模块的名称作为参数
app = Flask(__name__)

#创建一个路由装饰器,用于告诉应用程序应该调用哪个 URL 来执行 #描述函数,并定义该函数

@app.route('/')
def tutorialspoint():
return “Welcome to TutorialsPoint”

#创建主驱动函数
if __name__ == ‘__main__’:
#调用 run 方法
app.run()

您可以将上述代码复制到 app.py 文件中,该文件会显示一条简单的欢迎语句。

创建另一个名为 requirements.txt 的文件。该文件包含要安装的软件包列表。对于这个项目,我们只需要安装 Flask 库。因此,在文件中,只需包含"flask"(不带引号)。

现在,在根目录中,创建另一个名为 dockerfile 的文件。该文件将包含构建 docker 镜像所需的所有命令。

在 dockerfile 中,复制以下代码。

#创建一个安装了 Python 3 的 Ubuntu 基础镜像。
FROM python:3

#设置工作目录
WORKDIR /usr/src/app

#复制所有文件
COPY . .

#安装依赖项
RUN apt-get -y update
RUN pip3 install -r requirements.txt

#暴露所需端口
EXPOSE 5001

#运行命令
CMD [“python3”, “./app.py”]

上面创建的 Dockerfile 会创建一个安装了 Python 的 Ubuntu 基础镜像。它会设置工作目录,然后将所有文件从主机复制到 Docker 服务器。然后,它会运行更新命令并安装需求文件中提到的 Flask。然后,它会暴露 5001 端口,用于运行我们的 flask 应用程序,并使用 CMD 命令运行 app.py 文件。

现在,使用以下命令构建镜像。请确保您位于根目录中。

sudo docker build -t flaskproject . (不要忘记点)

构建镜像后,通过以下命令在 docker 容器内使用交互式 shell 运行 bash。

sudo docker run -ti -p 5001:5001 flaskproject bash

上述命令通过连接端口运行镜像并打开 bash。

在 bash 中,运行命令 -

python3 app.py

您将在屏幕上看到类似以下内容。

  • 服务 Flask 应用"app"(延迟加载)

  • 环境:生产环境 警告:这是一个开发服务器。请勿在生产部署中使用它。请改用生产环境的 WSGI 服务器。

  • 调试模式:开启

  • 正在 http://0.0.0.0:5001/ 上运行(按 CTRL+C 退出)

  • 正在使用 stat 重新启动

  • 调试器已激活!

这意味着您的 Flask 应用程序已成功在容器上运行,您可以通过本地计算机上的 5001 端口访问它。

打开浏览器并访问以下网址 - http://0.0.0.0:5001/

您将看到以下消息 - "欢迎来到TutorialsPoint”

总而言之,使用这些步骤,您可以轻松地在 Docker 容器内构建和部署 Flask 应用程序,并可以通过将端口连接到本地计算机来访问该应用程序。


相关文章