首页 > 解决方案 > Jenkins selenium docker 和应用程序文件

问题描述

我有一个 docker hub 和一个 docker 节点启动并运行。我还有一个 docker 容器,其中包括我的应用程序启动和运行,其设置与我的 pc 相同。我收到以下错误。[ConnectionException] 无法在http://ip:4444/wd/hub连接到 Webdriver 。请确保 Selenium Server 或 PhantomJS 正在运行。IP 是正确的,因为我在那里看到了应有的硒网格。这可能是问题所在。当我进入 jenkins 中的容器时,它也会运行我的测试。

标签: seleniumjenkinsselenium-hub

解决方案


您是否明确指示 Hub Docker 容器将其内部端口 4444 对外公开为 4444?

指示容器公开端口不会强制使用相同的端口号。因此,在您的情况下,虽然它在内部运行在 4444 上,但在外部它可能是 Docker 在启动时认为是最佳选择的任何端口。

你是如何启动你的容器的?如果通过 docker cmd 行,那么您使用的是-Por-p 4444:4444吗?(注意大小写的区别)。 -P只是公开端口但不保证数量,其中 as-p允许您根据需要进行映射。

有很多方法可以编排 Docker,这可能允许您以不同的方式控制它。

例如,如果您使用 Docker Compose,它有可能允许您的容器通过 4444 进行通信,即使这些不是实际暴露的端口。它通过一些巧妙的网络实现了这一点,但设置和使用非常简单。


推荐阅读