在 Docker 中构建和部署 Flask 应用


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

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

步骤

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

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

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

#Import the flask module
from flask import import Flask

#Create a Flask constructor. It takes name of the current module as the argument
app = Flask(__name__)

#Create a route decorator to tell the application, which URL should be called for the #described function and define the function

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

#Create the main driver function
if __name__ == ‘__main__’:
#call the run method
app.run()

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

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

现在,在根目录中,创建另一个名为 Dockerfile 的文件。此文件将包含所有有助于您构建 Docker 镜像的命令。

在 Dockerfile 中,复制以下代码。

#Create a ubuntu base image with python 3 installed.
FROM python:3

#Set the working directory
WORKDIR /usr/src/app

#copy all the files
COPY . .

#Install the dependencies
RUN apt-get -y update
RUN pip3 install -r requirements.txt

#Expose the required port
EXPOSE 5001

#Run the command
CMD [“python3”, “./app.py”]

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

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

sudo docker build -t flaskproject . (don’t forget the dot)

构建镜像后,使用以下命令通过交互式 shell 在 Docker 容器内运行 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 访问。

打开浏览器并转到 URL -  http://0.0.0.0:5001/

您将看到以下消息:“欢迎来到 TutorialsPoint”

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

更新于: 2020-10-01

556 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告