从Windows上的Docker容器中访问主机
我在最新的Windows 10上使用Docker CE for Windows,并用 对web服务器运行测试的脚本。 (准确地说,这是WebDAV服务器的试金石测试套件,但我认为问题在于 (这是一般性的。) 我在Powershell控制台上运行web服务器:从Windows上的Docker容器中访问主机,windows,docker,Windows,Docker,我在最新的Windows 10上使用Docker CE for Windows,并用 对web服务器运行测试的脚本。 (准确地说,这是WebDAV服务器的试金石测试套件,但我认为问题在于 (这是一般性的。) 我在Powershell控制台上运行web服务器: > wsgidav -p 8080 -H localhost 21:04:19.107 - <13348)> wsgidav INFO : Running WsgiDAV/3
> wsgidav -p 8080 -H localhost
21:04:19.107 - <13348)> wsgidav INFO : Running WsgiDAV/3.0.0a3 Cheroot/6.4.0 Python/3.6.5
21:04:19.107 - <13348)> wsgidav INFO : Serving on http://localhost:8080 ...
我已经试过了
- 使用
hostnamegateway.docker.internal
- 使用
-p端口:端口
- 使用
--net=host
- 重新启动docker守护进程(有趣的是,这有时也是
修复
docker pull中的超时
- web服务器的不同IP地址(127.0.0.1,本地主机,0.0.0.0,本地IP)
也许我只是错过了上面的一个有效组合,或者任何其他技巧?FWIW,我能够通过使用
--networkhost
选项构建容器并使用客户端的真实IP(而不是localhost或0.0.0.0)来解决它
详情如下:
> docker pull mar10/litmus
> docker run --rm -p 8080:8080 mar10/litmus http://gateway.docker.internal:8080
-> running `basic':
0. init.................. FAIL (connection refused by `gateway.docker.internal' port 8080: Operation timed out)