使用Docker Compose构建Flask应用程序


Docker Compose允许您构建多容器Docker应用程序。如果您正在处理一个微服务项目,其中不同的节点处理项目中的不同部分,那么Docker Compose正是您需要的。使用Docker Compose,您可以在不同的Docker容器上处理项目的不同组件,并将它们组合起来创建一个单个应用程序。

在本文中,我们将讨论如何构建一个使用Python模块的Flask应用程序,并尝试使用Docker Compose在Docker容器中运行它。

首先,您需要在本地机器上安装Docker Compose。要安装Docker Compose,您可以使用以下任一方法:

  • 使用包管理器

sudo apt−get install docker−compose
  • 从官方仓库

您需要curl才能从官方仓库下载文件。

sudo apt−get install curl

sudo curl −L "https://github.com/docker/compose/releases/download/1.24.0/docker−compose−$(uname −s)−$(uname −m)" −o /usr/local/bin/docker−compose

sudo chmod +x /usr/local/bin/docker−compose

以上命令序列从apt包管理器下载并安装curl。之后,使用curl从其官方github仓库下载最新版本的Docker Compose,然后使用chmod命令赋予用户可执行权限。

在本地机器上下载Docker Compose后,创建如下所示的目录结构。

创建一个名为“application”的文件夹,并在其中创建一个名为“web”的文件夹,该文件夹将包含我们所有的flask文件。

移动到“web”目录并创建一个名为“app.py”的python文件。在文件中创建一个简单的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(debug=True,host='0.0.0.0')

上面的flask代码创建了一个简单的flask应用程序并打印“欢迎来到TutorialsPoint”。创建python文件后,使用以下代码创建dockerfile。

FROM python:3
RUN apt−get −y update
RUN apt−get install −y pip3 build−essential
COPY . .
RUN pip3 install −r requirements.txt
ENTRYPOINT ["python3"]
CMD ["app.py"]

上面的dockerfile创建一个python 3镜像,运行更新并安装必要的python包。然后,它使用下面提到的requirements.txt文件安装flask库,并将入口点定义为我们刚刚在app.py文件中创建的flask应用程序。

在web文件夹中创建一个名为requirements.txt的文件,并粘贴以下内容。

Flask

现在,转到名为application的父目录,并使用以下内容创建一个docker-compose.yml文件。

web:
build: ./web
ports:
− "5000:5000"
volumes:
− .:/code

上面的文件从“web”目录中的dockerfile构建镜像,然后将5000端口暴露到容器的5000端口。然后,它将当前目录挂载到docker容器的/code。

您现在可以使用以下命令从名为“web”的目录构建docker镜像“application”。

sudo docker−compose up

总而言之,在本文中,我们看到了如何安装docker compose,构建一个简单的flask web应用程序,创建一个构建镜像的dockerfile,然后使用Docker Compose将应用程序部署为服务。上述步骤是使用Docker Compose创建web应用程序最简单的方法。

更新于:2020年10月27日

浏览量 1K+

开启您的职业生涯

通过完成课程获得认证

开始学习
广告