2016-08-25 54 views
2

我开始与码头工人周围玩了一会儿,结果被套牢以下:无法访问托管应用程序从码头工人在Windows

这里是我的环境:

Windows 10 
boot2docker/Docker version 1.12.0 
Virtual box 5.0.24 

这是什么我努力做到:

$ docker run -itp 8090:8090 lamp 
[email protected]:/# service apache2 start 
* Starting web server apache2                                   * 
[email protected]:/# service mysql start 
* Starting MySQL database server mysqld                               [ OK ] 
[email protected]:/# 

从容器deattached然后

$ docker ps 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS     NAMES 
8ebc390337be  lamp   "/bin/bash"   13 minutes ago  Up 13 minutes  0.0.0.0:8090->8090/tcp happy_brown 

$ docker inspect $(docker ps -q) | grep IPA 
      "SecondaryIPAddresses": null, 
      "IPAddress": "172.17.0.2", 
        "IPAMConfig": null, 
        "IPAddress": "172.17.0.2", 

现在,当我尝试运行

$ curl 172.17.0.2:8090 
curl: (7) Failed to connect to 172.17.0.2 port 8090: Timed out 

那我就

$ docker-machine ip default 
192.168.99.100 
$ curl 192.168.99.100:8090 
curl: (7) Failed to connect to 192.168.99.100 port 8090: Connection refused 

我没有经历这个accessing-a-docker-container-url-on-windows-host但它并没有帮助我。

我应该能够访问泊坞窗内外的网址。

有人能帮助我解决

+0

确认你的apache正在运行,你可以回到容器内部并卷曲你的本地apache – vitr

+0

这样解决了这个问题:http://stackoverflow.com/questions/24969268/accessing-apache2-residing-inside-docker- container-from-host-machine-web-browser – Karthik

回答

1

这是你应该使用192.168.99.100

我想到的问题是,你的Apache服务器的80端口的容器内的IP地址,而不是8090,即你的搬运工命令应该是:

$ docker run -itp 8090:80 linode/lamp 

外部主机(192.168.99.100)到端口80的容器内部上这意味着地图端口8090。

+0

谢谢@matthew我能够在码头终端内成功卷曲,但仍然无法通过浏览器http://192.168.99.100:8090/在终端外部访问它 – Karthik

+0

取决于“外部”的含义。该IP只能通过您的Windows PC访问。您可以设置路由/代理,以便您可以更广泛地访问它,但这本身就是一个问题! – Matthew

+0

是的,我无法通过我的Windows中的浏览器访问它PC – Karthik

相关问题