我有一个docker hub和一个docker node处于运行状态,还有一个Docker容器,其中包含我的应用程序以与我的PC相同的设置运行。我收到以下错误。 [ConnectionException]无法通过http://ip:4444/wd/hub连接到Webdriver。请确保Selenium Server或PhantomJS正在运行。 该IP是正确的,因为我在那里看到了应该存在的硒网格。这可能是问题所在。当我进入詹金斯拥有的容器时,它也会运行我的测试。
答案 0 :(得分:0)
您是否已明确指示集线器Docker容器在外部将其内部端口4444公开为4444?
指示容器公开端口不会强制使用相同的端口号。因此,在您的情况下,当内部在4444上运行时,在外部,它可能是Docker启动时认为是最佳选择的端口。
您是如何启动容器的?如果通过docker cmd行,那么您使用的是-P
还是-p 4444:4444
? (注意大小写不同)。 -P
仅公开端口,但不保证数量,其中-p
允许您根据需要进行映射。
有许多编排Docker的方法,这些方法可能允许您以不同的方式进行控制。
例如,如果您使用的Docker Compose有潜力允许您的容器通过4444进行通信,即使这些端口不是实际暴露的端口。它通过一些聪明的网络实现了这一点,但是设置和使用非常简单。