Ben*_*Ben 6 windows docker boot2docker
我在Windows 7上安装了boot2docker(完全安装),我正在尝试运行容器端口重定向演示:
docker run --rm -i -t -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)
看起来它没有完全正确完成,它只是停止,看起来像这样:

当我打开另一个git bash shell并运行时boot2docker ip我得到192.168.59.103,当我在chrome中弹出它时我得到Error code: ERR_CONNECTION_TIMED_OUT
在Ubuntu 14.04上使用普通的docker它对我来说很好.我还需要做些什么才能在windows上使用boot2docker?
Ben*_*Ben 14
仔细观察,我的问题与这个问题相同:Docker,使用docker flag -p 3000:3000无法从localhost:3000到达"rails server"开发
在回答这个问题,对我的工作就是这个,这只是说运行
boot2docker ssh -L 8080:localhost:80
Run Code Online (Sandbox Code Playgroud)
在启动boot2docker之前的终端
在我的情况下,我这样做(从git 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
Run Code Online (Sandbox Code Playgroud)
然后转到我在Windows中的Web浏览器并指向它http://localhost:8787/,我得到一个RStudio的服务器实例.当我完成时:
docker rm -f $(docker ps -a -q) # delete all containers
Run Code Online (Sandbox Code Playgroud)
更新:降级到VirtualBox的早期版本将解决这个问题
在与文件夹共享挣扎之后,我在VirtualBox的早期版本中退步,发现在版本4.3.12中,我可以启用文件夹共享,并根据官方说明完全转发端口,即我可以访问我的docker容器192.168.59.103.因此,降级VirtualBox是解决此问题的另一种选择.
另一个更新:更新到boot2docker的v1.3.1的新版本将解决这个问题
这个版本刚刚在一周前发布,包括VirtualBox Guest Additions,它简化了所有这些.我现在只是这样做
boot2docker ssh # start boot2docker
docker run -d -p 8787:8787 -v /c/Users/foobar:/home/rstudio/foobar rocker/rstudio
Run Code Online (Sandbox Code Playgroud)
我按照预期的方式工作,可以在我的浏览器http://localhost:8787/(linux)或http://192.168.59.103:8787(Windows)中登录到RStudio ,它就可以了.
在这种情况下,我也有文件夹共享,/c/Users/foobar对应于我的计算机上的现有文件夹C:/Users/foobar,foobar可以是任何东西.使用这种方法,我可以在Windows和RStudio之间读取和写入文件,我不需要像官方文档中的samba方法那样连接到特殊的IP地址
| 归档时间: |
|
| 查看次数: |
10393 次 |
| 最近记录: |