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应用程序,并且可以通过将端口连接到本地计算机来访问该应用程序。