首页/网络/常用端口速查/2377 Docker Swarm 集群管理
2000-2999 注册端口60 条

2377 Docker Swarm 集群管理

Docker Swarm 模式的集群管理端点:节点加入(join)、管理指令与 Raft 通信通过它进行。

常用端口速查网络更新于 2026-10-13

Docker Swarm 与 2377 端口

2377 是 Swarm 集群管理端点的端口,管理节点通过它处理集群管理指令与节点加入请求。除了 2377,集群还必须放行节点发现所需的 7946(TCP 与 UDP)以及覆盖网络数据面所需的 4789(UDP),少数场景还会用到 4789 之外的封装端口。只放行 2377 会导致节点能加入但容器之间跨主机不通,这类问题在排查时容易被误判为应用故障。

基本信息

服务Swarm 集群管理端点
协议TCP
必备放行2377 管理、7946 节点发现、4789 覆盖网络数据面
用途节点加入与退出、集群管理指令、服务编排
凭据形式加入令牌(管理节点与工作节点两种)
安全等级仅集群内网可达

典型使用场景

  • 多主机编排:把若干台主机组成集群统一调度服务
  • 滚动升级:按服务维度逐步替换容器,减少停机时间
  • 高可用管理:多个管理节点保证控制面不因单点故障中断
  • 快速扩缩容:按负载调整服务副本数量
  • 小规模集群替代方案:规模不大时用它替代更重的编排平台

查看集群状态

查看集群状态
docker node ls                                  # 节点列表与角色
docker info --format '{{.Swarm.LocalNodeState}}'   # 本节点是否已加入集群
docker service ls                               # 服务清单
ss -lntp | grep 2377                            # 确认管理端点监听

集群必备端口

端口用途缺失后果
2377/tcp集群管理节点无法加入,管理指令失败
7946/tcp 与 7946/udp节点发现与状态同步节点列表异常,健康检查不准
4789/udp覆盖网络数据面跨主机容器互不可达
加入令牌泄露等于任何人可把主机加入集群并承载业务,进而读取集群内部数据;令牌要定期轮换并严格限制分发范围。
工作节点与管理节点的令牌不同:日常扩容只应使用工作节点令牌,需要新增管理节点时再单独使用管理令牌,避免管理面权限被不必要地扩散。
排障顺序:先用节点列表确认各节点状态,再检查三类端口的互通情况,最后才查服务配置;跨主机容器不通而单机正常,基本可以直接定位到覆盖网络端口被拦。

易错点

  • 只放行 2377 而漏掉 7946 与 4789,跨主机容器网络静默失效
  • 把加入令牌留在脚本或聊天记录里,主机被他人加入集群
  • 工作节点误用管理令牌,管理权限被过度扩散
  • 把集群端口开放到办公网,任一主机失陷即可影响整个集群

数据来源与参考

  • Docker 官方文档:Swarm 模式端口要求

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌