首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows上从Docker容器中访问主机

在Windows上从Docker容器中访问主机
EN

Stack Overflow用户
提问于 2018-08-03 06:33:53
回答 1查看 1.1K关注 0票数 1

我在最新的Windows 10上使用了Docker CE for Windows,并构建了一个带有脚本的映像,该脚本在web服务器上运行测试。(确切地说,这是WebDAV服务器的试金石套件,但我认为问题是普遍的。)

我在Powershell控制台上运行web服务器:

代码语言:javascript
复制
> 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容器中运行我的脚本(使用的是阿尔卑斯山)。脚本启动并尝试访问端点,但没有成功:

代码语言:javascript
复制
> 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=host
  • 重新启动停靠守护进程(有趣的是,在docker pull中修复超时有时也是必要的)
  • web服务器的不同IP地址(127.0.0.1,localhost,0.0.0.0,本地IP)

到目前为止,一切都不起作用(尽管失败消息可能有所不同)。也许我只是错过了上面的一个组合,或者其他什么把戏?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-09 13:25:48

FWIW,我能够通过使用--network host选项构建容器来解决这个问题,并使用客户机的实际IP (而不是localhost或0.0.0.0)。

详细信息:https://hub.docker.com/r/mar10/docker-litmus/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51666589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档