使用 Docker Compose 构建咖啡壶应用

在现代软件开发中,Docker 和 Docker Compose 使得应用的部署和管理变得更加简单和高效。今天,我们将通过实现一个简单的“咖啡壶”应用来教会你如何使用 Docker Compose。让我们一步一步来,确保你能理解每一步的细节。

一览流程图

我们可以将整个过程分成以下几个步骤:

步骤 描述
1 创建一个项目文件夹
2 编写咖啡壶应用的代码
3 创建 Dockerfile
4 创建 Docker Compose 文件
5 启动容器
6 访问应用

以下是每一步的详细说明。

步骤详解

步骤 1:创建一个项目文件夹

首先,你需要在你的本地环境中创建一个新的项目文件夹。打开你的终端,运行以下命令:

mkdir coffee-pot && cd coffee-pot

这段代码将创建一个名为 coffee-pot 的新文件夹并进入该文件夹。

步骤 2:编写咖啡壶应用的代码

接下来,我们要创建一个简单的 Flask 应用。你可以在项目目录下创建一个名为 app.py 的文件,并添加以下代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "欢迎来到咖啡壶应用!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

这段代码的作用是:使用 Flask 启动一个简单的网页,当用户访问根网址时,会返回一段欢迎信息。

步骤 3:创建 Dockerfile

我们需要为我们的 Flask 应用创建一个 Dockerfile。在项目目录下新建一个名为 Dockerfile 的文件,并添加以下代码:

# 使用官方 Python 镜像作为基础镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 将当前目录下的要求文件复制到容器中
COPY requirements.txt .

# 安装 Flask 及其他依赖
RUN pip install -r requirements.txt

# 将应用代码复制到容器中
COPY . .

# 设置默认命令: 运行 Flask 应用
CMD ["python", "app.py"]

注释:

  • FROM 指令指定了基础镜像为 Python 3.9 的精简版本。
  • WORKDIR 指定了容器内部的工作目录。
  • COPY 指令将主机文件复制到容器中。
  • RUN 安装所需的包。
  • CMD 设置容器启动时运行的命令。

步骤 4:创建 Docker Compose 文件

在项目目录下,再创建一个名为 docker-compose.yml 的文件,并添加如下代码:

version: '3'
services:
  coffee-pot:
    build: .
    ports:
      - "5000:5000"

这里的配置文件包含了:

  • version 定义 Docker Compose 文件的版本。
  • services 定义了我们要运行的服务(这里是咖啡壶应用)。
  • build 指向当前目录,Docker 将根据 Dockerfile 构建镜像。
  • ports 映射容器的 5000 端口到主机的 5000 端口,实现外部访问。

步骤 5:启动容器

现在我们已完成配置,可以使用 Docker Compose 启动我们的应用。在终端中运行如下命令:

docker-compose up --build

--build 选项确保 Docker 会根据 Dockerfile 重新构建镜像。

步骤 6:访问应用

当容器成功启动后,你可以通过浏览器访问 http://localhost:5000 来查看咖啡壶应用是否正常运行。

关系图

为了更好地理解我们所构建的系统,可以使用以下关系图表示项目中各个部分之间的关系:

erDiagram
    APP ||--o{ DOCKERFILE : includes
    DOCKERFILE }o--|| DOCKERCOMPOSE : configures

结尾

现在你已经完成了创建一个简单咖啡壶应用的步骤,并通过 Docker Compose 实现了它的容器化管理。掌握这些基础的 Docker 和 Docker Compose 知识,将为你在软件开发路上的进一步学习打下良好的基础。在今后的开发中,熟练运用这些工具会让你在项目部署上如虎添翼。希望这篇文章能够帮到你,祝你学习愉快!