售前咨询400-838-0503

Linux云服务器如何配置Docker Swarm?

发布:2025-04-24 15:12

Linux云服务器上配置Docker Swarm集群的完整指南

在当今云计算时代,容器编排工具已经成为DevOps工具箱中不可或缺的一部分。Docker Swarm作为Docker官方提供的集群管理工具,以其轻量级和易用性受到广泛欢迎。本文将详细介绍如何在Linux云服务器上从头开始配置一个Docker Swarm集群。

一、准备工作

在开始配置Docker Swarm之前,您需要确保满足以下条件:

  • 至少2台运行Linux的云服务器(推荐使用Ubuntu 20.04+或CentOS 7+)
  • 所有服务器间网络互通,建议在同一VPC内
  • 开放的TCP端口:2377(集群管理),7946(节点通信),4789(覆盖网络)
  • 每台服务器上已安装Docker Engine 19.03+

注意:云服务商的安全组规则需要放行上述端口。

二、初始化Swarm集群

选择一台服务器作为管理节点(Manager),执行以下命令初始化Swarm:

docker swarm init --advertise-addr <服务器内网IP>

成功执行后,命令会返回加入集群的指令,类似:

docker swarm join --token SWMTKN-1-xxxxx :2377

这个token用于其他节点加入集群,请妥善保存。

三、添加工作节点

在其他服务器上运行上一步获取的join命令:

docker swarm join --token  :2377

在管理节点上运行以下命令验证节点已成功加入:

docker node ls

您应该能看到所有节点的列表及其状态。

四、Swarm网络配置

Docker Swarm使用覆盖网络(overlay network)实现容器跨主机通信:

docker network create --driver overlay my-overlay-network

创建服务时指定此网络:

docker service create --name web --network my-overlay-network -p 80:80 nginx

五、管理服务

Swarm的核心功能是服务管理,以下是一些常用命令:

  • 创建服务: docker service create --name my-service -p 8080:80 nginx
  • 扩展服务: docker service scale my-service=5
  • 更新服务: docker service update --image nginx:latest my-service
  • 删除服务: docker service rm my-service

六、高可用配置

为确保集群高可用,建议配置多个管理节点:

  1. 在第一个管理节点上获取manager token:docker swarm join-token manager
  2. 在其他服务器上使用此token加入作为管理节点
  3. 使用docker node promote 提升节点角色

最佳实践:管理节点数量应为奇数(3、5、7等)以确保raft共识。

七、安全建议

  • 定期轮换join token:docker swarm join-token --rotate
  • 配置TLS认证增强安全性
  • 限制管理节点的访问IP
  • 定期备份Swarm配置

总结

通过本文的步骤,您已经成功在Linux云服务器上配置了一个Docker Swarm集群。Swarm提供了简单而强大的容器编排能力,特别适合中小规模部署。记住定期监控集群状态,使用docker node inspectdocker service logs等命令进行故障排查。

随着业务增长,您可能需要考虑更复杂的编排工具如Kubernetes,但对于大多数场景,Docker Swarm已经能提供足够的功能和性能。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单