You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium4 Dynamic Grid跨VM部署config.toml的host/port配置疑问

1. [server] 配置段host、port参数含义

这两个参数是跨VM分布式部署场景的专属配置,填的是当前Node节点自身的对外访问信息:

  • host:填当前Node所在VM的IP,必须是Hub节点能直接连通的地址(内网/公网IP都可以,根据你VM之间的网络模式选),作用是让Hub知道该往哪个地址发送调度指令、同步任务状态
  • port:填Node服务在当前VM宿主机上暴露的监听端口。Node容器内部默认用5555端口做事件监听,你启动Node容器时通过-p参数把容器端口映射到宿主机的哪个端口,这里就填哪个端口。

如果Node和Hub跑在同一台机器、同一个docker网络内,这段配置直接注释即可,不需要填写。

2. config.toml是否需要放在运行Node的VM上

你的判断是正确的。
config.toml是Node节点的专属配置文件,只对加载它的Node进程生效:文件里[docker]段配置的是当前Node所在主机的Docker daemon连接地址、支持的浏览器镜像、录像镜像等和本机环境强绑定的内容,和Hub节点无关。每台部署Node的VM都需要存放一份适配本机环境的config.toml,启动Node容器时把该文件挂载到容器内/opt/selenium/config.toml路径即可生效,Hub节点不需要用到这个配置文件。

3. host参数是否填Hub的IP?port参数从哪获取

这里你理解反了,[server]段的host填的是Node自身的IP,不是Hub的IP。
要让Node连接到远端Hub,不需要在config.toml里填写Hub地址,而是在启动Node容器时通过环境变量传参指定Hub信息:

  • 用SE_EVENT_BUS_HOST指定Hub所在VM的IP
  • 用SE_EVENT_BUS_PUBLISH_PORT指定Hub的事件发布端口,默认值为4442
  • 用SE_EVENT_BUS_SUBSCRIBE_PORT指定Hub的事件订阅端口,默认值为4443
    上述两个端口是Hub启动时默认暴露的,只要你启动Hub容器时没有修改默认端口映射,直接使用默认值即可。
    给你一个参考的Node启动命令:
docker run -d --name selenium-node \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /本地配置存放路径/config.toml:/opt/selenium/config.toml \
  -e SE_EVENT_BUS_HOST=Hub节点的IP \
  -e SE_EVENT_BUS_PUBLISH_PORT=4442 \
  -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
  selenium/node-docker:4.3.0-20220706

补充一个常见踩坑点:部署前先在Node所在VM上测试连通Hub的4442、4443端口,再到Hub所在VM上测试连通你配置的Node IP+端口,提前放开防火墙、安全组的对应规则,避免出现Node注册不上Hub的问题。


内容的提问来源于stack exchange,提问作者HemanthRaja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:42:25