docker - 使用 docker compose 运行 selenium hub 和 node
问题描述
我有这个docker-compose.yml
文件,我用它在 mac OS 上打开 selenium hub 和 node。我将主机端口更改为 65299 ,因为我收到了正在使用 4444 的错误。我安装了 docker desktop 3.5.1
version: "3"
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "65299:4444"
chrome:
image: selenium/node-chrome
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=65299
firefox:
image: selenium/node-firefox
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=65299
当我看这里 - http://localhost:65299/grid/console
时,我没有看到任何已注册的节点
另外,在终端上我得到了这个
firefox_1 | 20:27:22.110 INFO [SelfRegisteringRemote$1.run] - Couldn't register this node: The hub is down or not responding: Failed to connect to selenium-hub/172.26.0.2:65299
另外,在日志中它说
Nodes should register to http://172.27.0.2:4444/grid/register/
那么为什么系统甚至会尝试172.26.0.2:65299
或者我可能在这里遗漏了什么?
解决方案
节点的 HUB_PORT 变量错误。65299 端口是用于从 docker 网络外部访问 hub 的端口。例如,您正在使用此端口作为浏览器的访问集线器。
您需要将 4444 设置为该变量。该端口可用于 docker 网络。所以节点可以连接集线器。
推荐阅读
- reactjs - curry 函数(创建 HOC)中的反应钩子从 linter 'React Hook“useContext”不能在回调中调用'返回错误'
- javascript - 将 React.js 组件存储在数据库中
- laravel - PostsController@store 在尝试创建帖子时不起作用
- git - 语义释放不会在需要的分支上生成释放
- python - 我不明白出了什么问题 InvalidArgumentError: Conv2DCustomBackpropInputOp only support NHWC
- sql - 为什么我不能用 Django 和 Postgres 连续调用多个存储过程
- python-3.x - 如何在 python 中使用 ESCape 键与串口交互?
- javascript - 如何检查单击的元素是否包含具有特定类的元素
- java - 如何将多个目标设置为 ProxyFactoryBean 并基于 Config 调用目标方法之一?
- vb.net - 如何解决类型的警告消息:无法解决 DLL 之间的冲突