在容器中运行selenium / capybaratesting时,Docker“无法打开TCP连接到127.0.0.1:4444”

我在一个ruby应用程序中有一些Selenium Webdriver / Capybara自动化设置。 与此同时在一个VirtualBox虚拟机使用Linux我有一个docker容器Selenium网格docker run -d -p 4444:4444 --name selenium-hub -e GRID_TIMEOUT=120000 selenium/hub:2.53.0和一个firefox节点docker run -d --link selenium-hub:hub selenium/node-firefox:2.53.0 。 在虚拟机上添加一个DNS条目到docker_opts之后,在我的主机上运行我的Seleniumtesting(在我的虚拟机上使用网格),一切正常。 在这之后,我将自动化代码设置在我的虚拟机上的一个ruby容器中,位于网格和容器的旁边。 容器build立得很好。 我也能够附加到它没有问题,所有我的代码是在那里按预期。 从我的自动化容器中的terminal,如果试图运行一个规范前。 rspec spec/some_spec.rb我会得到一个连接拒绝错误

“无法打开TCP连接到127.0.0.1:4444(Connection refused – connect(2)for \”127.0.0.1 \“port 4444)”

在这个问题上search了18个结果,我所看到的唯一可行的事情就是提到创build一个桥梁,我不太了解。 任何build议如何纠正这将不胜感激。

没有看到你的规格说不容易,但我猜你在testing中连接到selenium127.0.0.1:4444selenium?

如果是这样,你现在应该连接到它的hub:4444因为这是将parsing您的selenium轮毂容器的IP名称。