2016-08-25 26 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

相關問題