docker selenium hub无法从不同的机器访问(在同一网络中)[docker selenium grid not working]

时间:2016-11-14 16:48:08

标签: docker selenium-grid

我已在我的本地主机上设置了selenium docker hub,它已启动并运行(但是通过Kitematic它显示了docker selenium-hub的2个IP地址) (见这个) enter image description here 我已经检查了docker selenium-hub在我的本地机器上运行正常 enter image description here

当我尝试从其他计算机注册chrome-node时出现主要问题

现在我想在另一台机器上运行selenium docker chrome节点,所以我在另一台机器上触发了以下命令 (节点机器的IP地址是'192.168.80.135'&我希望node-chrome docker在端口'5555上运行')。我解雇的命令是

docker run -d -p 5555:5555 -e REMOTE_HOST="http://192.168.80.135:5555" -e    
HUB_PORT_4444_TCP_ADDR="192.168.99.101" -e HUB_PORT_4444_TCP_PORT="4444" --  
name chrome-node selenium/node-chrome-debug:2.53.1

但是,在上面命令中触发会在node-chrome-debug的控制台中显示这种错误

06:10:03.690 INFO - I/O exception (java.net.NoRouteToHostException) caught     
when processing request to {}->http://192.168.99.101:4444: No route to host
06:10:03.690 INFO - Retrying request to {}->http://192.168.99.101:4444
08:25:15.809 INFO - Retrying request to {}->http://192.168.99.101:4444
08:25:18.809 INFO - I/O exception (java.net.NoRouteToHostException) caught     
when processing request to {}->http://192.168.99.101:4444: No route to host
08:25:18.809 INFO - Retrying request to {}->http://192.168.99.101:4444
08:25:21.809 INFO - Couldn't register this node: The hub is down or not     
responding: No route to host
08:25:29.809 INFO - I/O exception (java.net.NoRouteToHostException) caught     
when processing request to {}->http://192.168.99.101:4444: No route to host
08:25:29.810 INFO - Retrying request to {}->http://192.168.99.101:4444

此外我无法在节点机器(http://192.168.99.101:4444/grid/console)中打开selenium-hub url无效..

任何有用的帮助将不胜感激..提前致谢

在我的本地计算机上创建Docker-Vm enter image description here

1 个答案:

答案 0 :(得分:1)

我用这个来实现上面的东西 https://stackoverflow.com/a/36929518/3789189

总的来说,我做了以下事情 1)如上所述的端口转发默认'我的本地主机的vm enter image description here

2)从另一台计算机注册节点(假设'机器B') [注意:此命令在另一台机器B中触发,它将创建chrome-node docker容器(保留在机器B的默认vm下)&将它注册到selenium-hub泊坞容器(默认情况下,机器A的#m;)

    docker run -d -p 5555:5555 -p 5900:5900 -e 
    REMOTE_HOST="http://192.168.80.135:5555" -e 
    HUB_PORT_4444_TCP_ADDR="192.168.80.62" -e HUB_PORT_4444_TCP_PORT="4444" 
    --name chrome-node selenium/node-chrome-debug:2.53.1

3)端口转发默认'机器B的vm也...... enter image description here

第3步是重要的一步,如果你不这样做,那么selenium hub将无法与位于机器B下的selenium-node docker图像进行通信