我在本地主机的Windows机器上运行一个.net应用程序。我还使用以下命令设置了一个硒docker容器:
docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome
我可以通过将远程Webdriver指向localhost:4444来访问容器
但是,当我运行测试并告诉网络驱动程序导航至“ http://docker.for.win.localhost:51749”时,屏幕截图中出现连接被拒绝的错误。
我看过类似的问题,但是它们使用的技术不同,并且这些解决方案对我不起作用,因此我认为我的问题可能会稍有不同,因为我的网站在Visual Studio中的IIS Express中运行。
我尝试通过SSH到容器并在相同地址上执行WGET操作,最终产生400错误,如下所示。
seluser@832dfa5515d6:/$ wget docker.for.win.localhost:51749
--2019-05-24 12:45:45-- http://docker.for.win.localhost:51749/
Resolving docker.for.win.localhost (docker.for.win.localhost)... 192.168.65.2
Connecting to docker.for.win.localhost (docker.for.win.localhost)|192.168.65.2|:51749... connected.
HTTP request sent, awaiting response... 400 Bad Request
2019-05-24 12:45:45 ERROR 400: Bad Request.
此问题可能是什么原因?
我正在将Docker Desktop与18.09.2引擎一起使用,该引擎正在Windows上运行(尽管我相信容器的内部是linux)
更新
我刚刚尝试过:
curl -i -X GET -H "Host: localhost:51749" docker.for.win.localhost:51749
这最终将返回网站的HTML。所以看来容器实际上可以看到它……只是硒不能。