【问题标题】:Docker Toolbox port mapping not workingDocker Toolbox 端口映射不起作用
【发布时间】:2017-12-08 17:20:28
【问题描述】:

我已经在 Windows 机器上安装了 docker 工具箱,在使用以下命令运行容器后,我没有看到在主机的指定端口 (82) 上监听任何东西。

docker run -ti -p 82:80 --name=container_alias someprovider/image:some_tag

我确实附上了这个容器,并使用以下方法对容器内进行了简单检查:

curl localhost:80

它确实返回了 html 源内容,这意味着容器运行正常。 这种意外行为的原因可能是什么?

【问题讨论】:

  • docker-machine ip 的输出是什么? Docker 不会在 localhost 上监听,因为您使用的 Docker 工具箱使用 Virtualbox 并且它是网络。只有 Docker for Windows 可以监听 localhost,因为它使用 Hyper-V。

标签: docker port docker-toolbox linux-containers


【解决方案1】:

我的猜测是您在 localhost 上设置了另一台服务器,但我不能确定。 Docker Machine 不映射到本地主机。除非您以某种方式将 localhost 设置为重定向到您的 docker 机器的 IP 地址。

您可能想阅读Get started with Docker Machine and a local VM

另外-p 82:80将容器的80端口暴露给机器的82端口。所以你需要curl someipaddress:82

【讨论】:

  • 要清楚我在容器内,所以我蜷缩在端口 80 上。在主机上,它只是端口 82 上的连接被拒绝。
  • 啊好吧抱歉误读了。在容器中,您在哪个 IP 地址上运行?如果您将其设置为 0.0.0.0 是否可以解决问题?
猜你喜欢
  • 2016-05-31
  • 2017-01-12
  • 2012-11-06
  • 2018-12-27
  • 1970-01-01
  • 2014-07-18
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多