什么是 Docker Compose
理解 Docker Compose 的用途,以及它如何编排多容器应用
什么是 Docker Compose 是 CoddyKit 上的免费 Docker & DevOps Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Docker & DevOps Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Docker & DevOps Fundamentals 课程共包含 4 节课。
欢迎使用 Docker Compose
欢迎!到目前为止,您已经学会了运行单个容器。但是,如果您的应用需要多个容器呢?
大多数实际应用并不只有一个容器。它们通常还包含 Web 服务器、数据库、缓存等组件!

多容器挑战
想象一下,您要运行一个带有数据库的 Web 应用。您需要分别为每个容器运行 docker run 命令。
这很快就会变得复杂!它们如何相互通信?如何按正确的顺序启动所有容器?
手动管理多个容器及其连接可能既繁琐又容易出错。
Docker Compose 登场
这正是 Docker Compose 的用武之地!它是一种用于定义和运行多容器 Docker 应用的工具。
您无需运行许多独立的 docker run 命令,而是可以在一个配置文件中定义整个应用程序栈。
Compose 文件:docker-compose.yml
Docker Compose 使用名为 docker-compose.yml(或类似名称)的文件来配置应用程序的服务。
该文件使用一种简单易读的格式 YAML(另一种标记语言)来描述所有内容。
它就像整个应用程序的蓝图。
Compose 中的服务是什么
在 docker-compose.yml 文件中,应用程序的每个组成部分都称为一个服务。
- 一个服务通常代表一个容器。
- 您可以定义它使用的 Docker 镜像。
- 您还可以配置其端口、卷、环境变量、依赖项等!
Compose 处理网络
Docker Compose 的一项出色功能是,它简化了容器之间的网络通信。
默认情况下,Compose 会为 docker-compose.yml 文件中定义的所有服务创建一个网络。
这样,您的服务(例如 Web 应用和数据库)就可以使用各自的服务名称作为主机名,轻松地相互通信。
使用 Compose 管理数据
与单个容器一样,多容器应用通常也需要持久化数据。
Docker Compose 允许您在 docker-compose.yml 文件中定义和管理卷。
例如,这可以确保容器停止或删除时数据库数据不会丢失,从而维护数据完整性。
简单的 Compose 工作流
准备好 docker-compose.yml 文件后,运行整个应用程序就非常简单了!
只需进入包含该文件的目录,然后运行 docker compose up。
此命令会为文件中定义的所有服务构建(如果需要)、创建、启动容器,并连接到这些容器。
为什么使用 Compose:主要优势
Docker Compose 提供了多项优势,尤其适用于开发和测试环境:
- 单条命令:使用一条命令启动或停止整个应用。
- 可复现性:确保每个人运行完全相同的配置。
- 隔离性:服务在相互隔离的环境中运行。
- 简化开发:非常适合本地开发环境和快速测试。
快速检查
您已经了解了 Docker Compose 背后的核心理念。
让我们看看您能否找出它的主要用途!
回顾:编排您的应用
做得很好!现在您已经理解了 Docker Compose 的基本概念。
- 它简化了多容器应用的运行。
- 它使用一个 YAML 文件(
docker-compose.yml)定义所有服务。 - 它管理服务的网络和数据持久性。
- 它让复杂应用的开发和部署变得更加容易!
接下来,您将学习如何编写第一个 docker-compose.yml 文件!
常见问题解答
「什么是 Docker Compose」课时是免费的吗?
是的 — 「什么是 Docker Compose」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Docker & DevOps Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Docker & DevOps Fundamentals 课程共包含 4 节课。
「什么是 Docker Compose」这节课中我会学到什么?
理解 Docker Compose 的用途,以及它如何编排多容器应用 你通过在浏览器中直接运行的动手代码来练习 Docker & DevOps Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Docker & DevOps Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Docker & DevOps Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「什么是 Docker Compose」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Docker & DevOps Fundamentals 课中编写并运行代码吗?
能。每节 Docker & DevOps Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 什么是 Docker Compose
- 编写 Compose 文件
- 部署多服务应用
- 环境变量与 .env 文件