【问题标题】:boot2docker on windows - Can't access exposed portWindows上的boot2docker - 无法访问暴露的端口
【发布时间】:2014-10-23 00:12:57
【问题描述】:

我已经在 Windows 7 上安装了 boot2docker(完全安装)并尝试运行 the container port redirection demo

docker run --rm -i -t -p 80:80 nginx

看起来它并没有完全正确地完成,它只是停止并看起来像这样:

当我打开另一个 git bash shell 并运行 boot2docker ip 时,我得到 192.168.59.103,当我在 chrome 中弹出它时,我得到 Error code: ERR_CONNECTION_TIMED_OUT

在 Ubuntu 14.04 上使用普通 docker 对我来说效果很好。我还需要做什么才能使其在 Windows 上与 boot2docker 一起工作?

【问题讨论】:

标签: windows docker boot2docker


【解决方案1】:

仔细看,我的问题和这个问题一样:Docker, can't reach “rails server” development from localhost:3000 using docker flag -p 3000:3000

对我有用的那个问题的答案是this one,它只是说运行

boot2docker ssh -L 8080:localhost:80

在启动 boot2docker 之前的终端

就我而言,我这样做(从 gi​​t bash 终端):

boot2docker init # from https://github.com/boot2docker/boot2docker
boot2docker up
boot2docker ssh -L 8787:localhost:8787 # sets up port forwarding and starts boot2docker
docker run -d -p 8787:8787 cboettig/rstudio # starts the container I want

然后在 Windows 中打开我的 Web 浏览器并将其指向 http://localhost:8787/,然后我得到一个 RStudio 的服务器实例。完成后:

docker rm -f $(docker ps -a -q) # delete all containers

更新:降级到较早版本的 VirtualBox 将解决此问题

struggling with folder sharing之后,我回顾了之前版本的VirtualBox,发现在4.3.12版本我可以启用文件夹共享并且完全按照官方说明转发端口,也就是说我可以在 192.168.59.103 访问我的 docker 容器。因此,降级 VirtualBox 是解决此问题的另一种选择。

另一个更新:更新到 boot2docker 的 v1.3.1 的新版本将解决此问题

这个release 一周前刚刚发布,包括 VirtualBox Guest Additions,它简化了这一切。我现在只是做

boot2docker ssh # start boot2docker
docker run -d -p 8787:8787 -v /c/Users/foobar:/home/rstudio/foobar rocker/rstudio  

我的一切都按预期工作,可以在我的浏览器http://localhost:8787/ (linux) 或http://192.168.59.103:8787 (Windows) 上登录 RStudio,它就可以正常工作。

在这种情况下,我还使用了folder sharing/c/Users/foobar 对应于我计算机上的现有文件夹C:/Users/foobarfoobar 可以是任何东西。使用这种方法,我可以在 Windows 和 RStudio 之间双向读写文件,并且不需要像官方文档中的 samba 方法那样连接到特殊的 IP 地址

【讨论】:

    【解决方案2】:

    在尝试boot2docker start 几次失败后,我也遇到了这个问题。这创建了多个在 VirtualBox 上配置的 host-only 网络条目(VirtualBox Host-Only Ethernet Adapter #2VirtualBox Host-Only Ethernet Adapter #3),并且可能 boot2docker 的 VM 使用了一个坏的。

    我使用 Virtualbox 标准 UI 进行清理,只留下一个网络,现在一切正常。

    我正在使用 boot2docker 1.5.0。

    只是为了记录发生在我身上的事情,让我浪费了几个小时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-10
      • 2017-01-03
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多