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

Selenium Grid部署问题:节点未注册到Hub(Docker Compose环境)

Selenium Grid节点无法连接Hub问题解决建议

我通过Docker Compose部署Selenium Grid,容器创建成功(截图如下),但访问localhost:4444时显示错误:The Grid has no registered Nodes yet,节点无法连接到Hub,求解决建议。

Docker容器创建成功

当前docker-compose.yml配置

version: "3"
services:

  hub:
    image: selenium/hub
    ports:
      - "4444:4444"


  chrome:
    image: selenium/node-chrome
    container_name: web-automation_chrome
    depends_on:
      - hub
    volumes:
      - /dev/shm:/dev/shm
    ports:
      - "9001:5900"
    links:
      - hub

  firefox:
    image: selenium/node-firefox
    container_name: web-automation_firefox
    depends_on:
      - hub
    
    volumes:
      - /dev/shm:/dev/shm
    ports:
      - "9002:5900"
    links:
      - hub

解决建议

  • 等待Hub服务完全就绪:depends_on仅保证容器启动顺序,不代表Hub服务已经可用。可以给节点添加启动延迟,修改chrome和firefox服务的配置:
    command: bash -c "sleep 10 && /opt/bin/entry_point.sh"
    
  • 显式配置事件总线参数:新版Selenium Grid通过事件总线通信,需给节点指定Hub的事件总线地址,在chrome和firefox服务中添加环境变量:
    environment:
      - SE_EVENT_BUS_HOST=hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
    
  • 验证容器网络连通性:进入节点容器测试与Hub的连通性,执行以下命令:
    docker exec -it web-automation_chrome ping hub
    docker exec -it web-automation_chrome curl http://hub:4444/wd/hub/status
    
  • 统一镜像版本:避免版本不兼容问题,给所有镜像指定相同的稳定版标签,比如selenium/hub:4.16、selenium/node-chrome:4.16
  • 移除旧版links配置:Docker Compose v3默认桥接网络支持服务名访问,links是旧特性,直接移除该配置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 03:39:25