在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库。因此,在文件内部,仅包括“烧瓶”(不包括逗号)。

现在,在根目录中,创建另一个名为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创建一个ubuntu基本映像,其中安装了python。它设置一个工作目录,然后将所有文件从主机复制到docker服务器。然后运行更新命令并安装需求文件中提到的flask。然后,它公开了将运行烧瓶应用程序的端口5001,并使用CMD命令运行app.py文件。

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

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

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

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

上面的命令通过连接端口来运行映像并打开bash。

在bash中,运行命令-

python3 app.py

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

  • 正在投放Flask应用“应用”(延迟加载)

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

  • 调试模式:打开

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

  • 用统计重启

  • 调试器处于活动状态!

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

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

您将看到以下消息-“欢迎使用TutorialsPoint”

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