乐闻世界logo
搜索文章和话题

如何创建Docker Swarm集群?

4 个月前提问
4 个月前修改
浏览次数14

1个答案

1

创建Docker Swarm集群步骤

Docker Swarm 是 Docker 的原生集群管理和编排工具。要创建一个 Docker Swarm 集群,我们需要遵循以下步骤:

1. 准备环境

首先,确保所有参与的机器都已安装 Docker Engine。Docker Engine 的版本应该至少是 1.12,因为从这一版本开始,Docker 引入了 Swarm 模式。

示例: 假设我们有三台机器,分别为 manager1, node1, 和 node2。这些机器必须能够相互通信,最好是在同一网络下。

2. 初始化 Swarm 集群

选择一台机器作为管理节点(manager node),执行 docker swarm init 命令来初始化 Swarm 集群。

示例: 在 manager1 上运行以下命令:

bash
docker swarm init --advertise-addr <MANAGER-IP>

这里的 <MANAGER-IP>manager1 的 IP 地址。这个命令会让这台机器成为管理节点。

3. 添加工作节点(Worker Nodes)

在初始化 Swarm 集群后,docker swarm init 命令会输出一个加入集群的 token。使用这个 token 在其他节点上运行 docker swarm join 来将它们添加到集群中作为工作节点。

示例: 在 node1node2 上运行:

bash
docker swarm join --token <YOUR-TOKEN> <MANAGER-IP>:2377

<YOUR-TOKEN> 是从 manager1 获取的 token,<MANAGER-IP> 是管理节点的 IP 地址。

4. 验证集群状态

在管理节点上运行 docker node ls 来查看所有节点的状态,确保它们都是活跃的并正确连接到了 Swarm 集群。

示例: 在 manager1 上运行:

bash
docker node ls

这个命令会列出所有节点及其状态,你可以看到哪些节点是管理节点,哪些是工作节点。

5. 部署服务

现在你可以在 Swarm 集群上部署服务了。使用 docker service create 命令来部署。

示例: 要在集群上运行一个简单的 nginx 服务,可以在 manager1 上运行:

bash
docker service create --name my-nginx --replicas 3 --publish 80:80 nginx

这会创建一个名为 my-nginx 的服务,部署三个 nginx 的副本,并将端口 80 映射到宿主机的端口 80。

总结

通过以上步骤,你可以成功创建和管理一个 Docker Swarm 集群,并能在上面部署和扩展服务。这些是基本的操作,对于生产环境,还需要考虑安全、监控、日志管理等方面。

2024年8月9日 14:14 回复

你的答案