如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Selenium Grid Hub镜像提供Selenium Grid Hub功能,需与一个或多个Selenium Grid Node配合使用,用于实现WebDriver测试的远程执行。Hub作为Selenium Grid的中心节点,负责协调和分发测试任务至连接的Node节点,支持分布式测试环境的构建。
http://localhost:4444/ui),用于查看Grid运行状态和任务执行情况Hub与Node需在同一网络中通过容器名称通信,首先创建专用网络:
bashdocker network create grid
使用创建的网络启动Hub容器,映射必要端口:
bashdocker 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三种浏览器节点:
Linux/macOS命令
bash# 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
Windows PowerShell命令
powershell# 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// Java示例 WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444"), new ChromeOptions());
通过Grid UI查看节点状态和任务执行情况:
访问 http://localhost:4444/ui
测试完成后,停止并删除容器,可选择删除网络:
bash# 停止所有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项目文档:
https://github.com/SeleniumHQ/docker-selenium/blob/trunk/README.md#hub-and-nodes
本项目基于https://raw.githubusercontent.com/SeleniumHQ/selenium/trunk/LICENSE%E5%BC%80%E6%BA%90%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE%EF%BC%8C%E6%BA%90%E4%BB%A3%E7%A0%81%E7%94%B1%E7%A4%BE%E5%8C%BA%E5%BF%97%E6%84%BF%E8%80%85%E7%BB%B4%E6%8A%A4%E3%80%82
以下是 selenium/hub 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务