在 docker 中构建和部署 Flask 应用
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 应用程序,并可以通过将端口连接到本地计算机来访问该应用程序。

