我在最新的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.0.0a3 Cheroot/6.4.0 Python/3.6.5
21:04:19.107 - <13348)> wsgidav INFO : Serving on http://localhost:8080 ... 在另一个Powershell控制台中,我在Docker容器中运行我的脚本(使用的是阿尔卑斯山)。脚本启动并尝试访问端点,但没有成功:
> 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)我已经试过了
gateway.docker.internal主机名-p PORT:PORT--net=hostdocker pull中修复超时有时也是必要的)到目前为止,一切都不起作用(尽管失败消息可能有所不同)。也许我只是错过了上面的一个组合,或者其他什么把戏?
发布于 2018-09-09 13:25:48
FWIW,我能够通过使用--network host选项构建容器来解决这个问题,并使用客户机的实际IP (而不是localhost或0.0.0.0)。
https://stackoverflow.com/questions/51666589
复制相似问题