使用 Docker Compose 构建 Flask 应用

dockeroperating systemopen source更新于 2026/1/5 23:37:17

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 从 Docker Compose 的官方 GitHub 仓库下载最新版本,并使用 chmod 命令授予用户可执行权限。

在本地计算机下载 Docker Compose 后,创建如下目录结构。

创建一个名为"application"的文件夹,并在其中创建另一个名为"web"的文件夹,其中包含我们所有的 Flask 文件。

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

上面的 Flask 代码创建了一个简单的 Flask 应用程序并打印 “Welcome to 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_minus;compose up

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


相关文章