Docker Swarm 简介
了解 Docker Swarm 是什么、如何工作,以及它在简化部署的容器编排中的作用
Docker Swarm 简介 是 CoddyKit 上的免费 Docker & DevOps Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Docker & DevOps Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Docker & DevOps Fundamentals 课程共包含 4 节课。
管理多个容器
想象一下,您有几十个正在运行的容器化应用程序。如果它们需要协同工作呢?如果一台机器发生故障呢?
跨多台机器手动管理大量容器会成为巨大的挑战。您需要一个系统来编排它们!

认识 Docker Swarm
Docker Swarm 是 Docker 原生的容器编排工具。它可以让您将 Docker 引擎集群作为一个统一的虚拟 Docker 主机进行管理。
您可以把它想象成容器乐队的指挥,确保所有容器协调一致地运行。
为什么使用 Docker Swarm?
Swarm 可以自动简化跨多台机器部署、扩展和管理容器化应用程序的过程。主要优势包括:
- 高可用性:如果某个节点发生故障,容器可以在健康节点上重新启动。
- 扩展:可以根据需求轻松增加或减少服务规模。
- 负载均衡:在服务副本之间分配网络请求。
Swarm 节点:管理节点与工作节点
Docker Swarm 集群由不同类型的节点组成:
- 管理节点:它们是集群的大脑,负责处理编排任务、维护应用程序的期望状态并分派工作。
- 工作节点:它们是集群的执行力量,接收并运行管理节点分配的实际容器化服务(任务)。
服务:应用程序的期望状态
在 Docker Swarm 中,您可以将应用程序定义为服务。服务描述了应用程序的期望状态。
例如,您可以定义一个服务,要求“运行 Nginx 容器的 3 个副本,公开端口 80,并挂载此卷”。
任务:正在运行的容器
创建服务时,Swarm 管理器会将其拆分为单独的任务。每个任务代表服务的一个正在运行的容器实例。
如果您的服务请求 3 个副本,管理器就会创建 3 个任务,并将它们分配到各个工作节点。
初始化 Swarm 集群
要启动新的 Swarm,您需要在 Docker 引擎上对其进行初始化。此命令会将该引擎变成新 Swarm 的第一个管理节点。
它还会提供一个令牌,供其他节点加入。
docker swarm init加入 Swarm 集群
初始化 Swarm 后,您可以向其中添加更多机器。这些机器通常会作为工作节点加入,准备运行任务。
您需要使用 `docker swarm init` 提供的令牌和管理器 IP,执行 `docker swarm join` 命令。
docker swarm join --token SWMTKN-1-...
192.168.1.100:2377检查 Swarm 节点
您可以从任意管理节点检查 Swarm 节点的状态。此命令会列出集群中的所有节点、它们的角色以及状态。
这是监控 Swarm 运行状况的好方法。
docker node lsSwarm 概念检查
以下哪项最准确地描述了 Docker Swarm 中管理器节点的主要作用?
Swarm 入门回顾
本课介绍了 Docker Swarm,它是 Docker 原生的编排工具。我们了解了它在管理容器集群方面的用途,以及以下关键组件:
- 管理器节点:负责编排并维护状态。
- 工作节点:运行任务(容器)。
- 服务:定义应用的期望状态。
- 任务:单个正在运行的容器实例。
我们还了解了如何初始化 Swarm 以及添加节点。
常见问题解答
「Docker Swarm 简介」课时是免费的吗?
是的 — 「Docker Swarm 简介」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Docker & DevOps Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Docker & DevOps Fundamentals 课程共包含 4 节课。
「Docker Swarm 简介」这节课中我会学到什么?
了解 Docker Swarm 是什么、如何工作,以及它在简化部署的容器编排中的作用 你通过在浏览器中直接运行的动手代码来练习 Docker & DevOps Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Docker & DevOps Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Docker & DevOps Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「Docker Swarm 简介」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Docker & DevOps Fundamentals 课中编写并运行代码吗?
能。每节 Docker & DevOps Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Docker Swarm 简介
- 设置 Swarm 集群
- 向 Swarm 部署服务
- Swarm 中的扩缩容与滚动更新