无法访问 selenium dockerized 图像中的 dockerized 应用 url
Can't access dockerized app url in selenium dockerized image
我已经在 VM 服务器上 localhost:8090 上对 vue.js 应用程序 运行 进行了 docker 化。我已经使用 SSH 将该 VM 服务器连接到我的 VS 代码,并且能够在端口转发后访问我本地机器的 chrome 浏览器上的 vue.js 应用程序。
但是在同一个 VM 中,还有另一个 selenium python dockerized 项目,它对 vue.js 应用程序进行自动测试,因此它需要访问 localhost:8090 URL。当 Vue.js 应用服务器启动时。不幸的是,python selenium 项目无法获取和请求 localhost:8090 URL。我在 selenium 测试中增加了睡眠时间,还添加了隐式或动态 (webdriverwaits),但仍然无法正常工作。
如果有人可以建议如何在没有端口转发的情况下在 VM vscode 中打开 localhost:8090,那将是 +1。
运行 Vue.js 和带有 docker 运行 --network=host
的 Selenium 容器
您有三个选择:
- 您可以从测试容器访问
http://host.docker.internal:8090
上的 VueJS 应用程序。
从主机访问端口。您需要使用 host.docker.internal
作为 DNS 路由名称。
- 您可以为 VueJS 容器指定容器名称。并使用
http://{VueJS Container Name}:80
您可以使用此参数 --name {Container-Name}
在 运行 中添加容器名称
- 您可以使用 Docker-Compose.
我已经在 VM 服务器上 localhost:8090 上对 vue.js 应用程序 运行 进行了 docker 化。我已经使用 SSH 将该 VM 服务器连接到我的 VS 代码,并且能够在端口转发后访问我本地机器的 chrome 浏览器上的 vue.js 应用程序。 但是在同一个 VM 中,还有另一个 selenium python dockerized 项目,它对 vue.js 应用程序进行自动测试,因此它需要访问 localhost:8090 URL。当 Vue.js 应用服务器启动时。不幸的是,python selenium 项目无法获取和请求 localhost:8090 URL。我在 selenium 测试中增加了睡眠时间,还添加了隐式或动态 (webdriverwaits),但仍然无法正常工作。
如果有人可以建议如何在没有端口转发的情况下在 VM vscode 中打开 localhost:8090,那将是 +1。
运行 Vue.js 和带有 docker 运行 --network=host
的 Selenium 容器您有三个选择:
- 您可以从测试容器访问
http://host.docker.internal:8090
上的 VueJS 应用程序。 从主机访问端口。您需要使用host.docker.internal
作为 DNS 路由名称。 - 您可以为 VueJS 容器指定容器名称。并使用
http://{VueJS Container Name}:80
您可以使用此参数--name {Container-Name}
在 运行 中添加容器名称
- 您可以使用 Docker-Compose.