本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Selenium Grid Hub镜像提供Selenium Grid Hub功能,需与一个或多个Selenium Grid Node配合使用,用于实现WebDriver测试的远程执行。Hub作为Selenium Grid的中心节点,负责协调和分发测试任务至连接的Node节点,支持分布式测试环境的构建。
http://localhost:4444/ui),用于查看Grid运行状态和任务执行情况Hub与Node需在同一网络中通过容器名称通信,首先创建专用网络:
docker network create grid
使用创建的网络启动Hub容器,映射必要端口:
docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest
参数说明:
-d:后台运行容器-p 4442-4444:4442-4444:映射端口(4442=事件总线发布端口,4443=事件总线订阅端口,4444=Hub服务端口)--net grid:加入之前创建的grid网络--name selenium-hub:指定容器名称(Node需通过此名称通信)在同一网络中启动Node容器,需配置与Hub的事件总线通信参数。以下示例包含Chrome、Edge、Firefox三种浏览器节点:
# Chrome节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ selenium/node-chrome:latest # Edge节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ selenium/node-edge:latest # Firefox节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ selenium/node-firefox:latest
# Chrome节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` selenium/node-chrome:latest # Edge节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` selenium/node-edge:latest # Firefox节点 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` selenium/node-firefox:latest
Node配置参数说明:
--shm-size="2g":设置共享内存大小(浏览器运行需较大共享内存,避免崩溃)SE_EVENT_BUS_HOST:Hub容器名称(需与Hub的--name一致)SE_EVENT_BUS_PUBLISH_PORT:Hub事件总线发布端口(固定4442)SE_EVENT_BUS_SUBSCRIBE_PORT:Hub事件总线订阅端口(固定4443)将测试代码中的远程WebDriver目标地址指向Hub服务端口:
// Java示例 WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444"), new ChromeOptions());
通过Grid UI查看节点状态和任务执行情况:
访问 http://localhost:4444/ui
测试完成后,停止并删除容器,可选择删除网络:
# 停止所有Grid容器(Hub和Node) docker stop selenium-hub $(docker ps -q --filter "network=grid") # 删除所有Grid容器 docker rm selenium-hub $(docker ps -aq --filter "network=grid") # 删除Grid网络(可选) docker network rm grid
镜像标签遵循以下结构,用于指定Selenium Grid版本和发布日期:
selenium/hub-<Major>.<Minor>.<Patch>-<YYYYMMDD>
示例:Selenium Grid Server 4.9.0(2023年4月26日发布)对应标签:
selenium/hub:4(主版本4的最新版)selenium/hub:4.9(主版本4.9的最新版)selenium/hub:4.9.0(具体版本4.9.0)selenium/hub:4.9.0-20230426(包含发布日期的完整标签)建议:生产环境使用完整标签(如4.9.0-20230426)以固定版本,避免latest标签带来的版本变动风险。
| 环境变量名 | 作用 | 示例值 |
|---|---|---|
SE_EVENT_BUS_HOST | Hub容器名称(Node与Hub通信地址) | selenium-hub |
SE_EVENT_BUS_PUBLISH_PORT | Hub事件总线发布端口 | 4442 |
SE_EVENT_BUS_SUBSCRIBE_PORT | Hub事件总线订阅端口 | 4443 |
更多配置示例和高级用法,请参考GitHub项目文档:
Docker-Selenium官方文档
本项目基于Apache License 2.0开源许可协议,源代码由社区志愿者维护。


免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429