2017-03-17 56 views
13

所以我使用Docker Toolbox,因爲我的機器上沒有Hyper-V,因爲它不是Windows 10專業版。一切似乎都做工精細,但當我嘗試去我的瀏覽器0.0.0.0:80它總是返回我:這個網站無法達到Docker Toolbox - Localhost not working

但是當我運行命令:docker container ps我得到如下:0.0.0.0:80->80/tcp意味着該地址應該管用。我搜索了stackoverflow和github問題。現在我卡住了。

我錯過了什麼嗎?

謝謝, 馬克

編輯:

使用docker-machine ip default回報我192.168.99.100。我運行在端口80.我仍然得到相同的結果,但地址成爲容器ID:https://fd677edg12

我在cmd上運行該命令以查找我的ipv4:cmd /k ipconfig /all。將結果與端口一起放回,並返回相同的結果:https://fd677edg12

+0

0.0.0.0不是一個實際的地址,這意味着端口被綁定到所有docker的主機(你的windows計算機)接口。嘗試本地主機:80或任何您的計算機的IP地址:80 – fvu

+0

@fvu我仍然得到「本網站無法到達」。我也嘗試過'docker-machine default ip - > 192.168.99.100'所以我把它放在地址:'192.168.99.100:80'中,我仍然得到相同的結果。 – Mark

+1

如果您正在重定向 - 這是您的應用程序已損壞。假設碼頭運行在同一臺計算機上,您應該能夠http:// localhost:80/ – user2105103

回答

23

Docker Toolbox沒有像Docker for Windows那樣獲得儘可能多的便利,但是您在家庭版中正確使用Docker Toolbox。

在工具箱中,沒有任何東西是localhost,默認情況下它將爲192.168.99.100,因爲它在VirtualBox中運行Linux VM。

所以,如果你運行docker run -p 80:80 nginx

(請注意,我不得不發佈端口192.168.99.100監聽該端口)

然後去http://192.168.99.100應該工作。

+0

感謝您的迴應。除了添加'docker run -p 80:80 -d nginx'之外,我正在遵循你的步驟。我去了這個地址,它將我重定向到'https:// dev /',並且再次表示無法聯繫到該網站。我還想驗證我是否有'hosts'文件(儘管我知道它不是本地主機)。我評論了那裏的一切。 – Mark

+0

經過多次嘗試,我終於找到了工作。可悲的是,我不太確定問題所在。 – Mark

5

我最初在使用DockerToolBox和OracleVM VirtualBox時訪問我的應用程序在localhost:8080時遇到了一些問題。

在VirtualBox中:

  1. 設置
  2. 網絡
  3. 適配器1高級端口轉發
  4. 您將要添加新規則
  5. 集HOSTPORT 8080 & GuestPort 8080,一定要將HostIP和Guest IP留空

運行命令:

docker run -p 8080:8080 ${image_id} 
+0

由於遠程API上的CORS設置,我必須以localhost:8080運行。太棒了,太簡單了,謝謝! – phazei

+0

適合我,謝謝 –

5

我在下面的窗口教程碼頭工人在https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell並卡在了第6步測試時在nginx的Web瀏覽器。似乎我面臨類似的問題,因爲我也使用Windows Home並沒有Hyper-V。我的解決方法很簡單:

  1. 檢查搬運工IP默認

$泊塢窗機IP默認

192.168.99.100

  • 轉到Oracle虛擬機以設置端口轉發。確保網絡設置是NAT,並添加端口轉發。 主機IP:127.0.0.1,遊客IP:192.168.99.100,端口都設置爲80 like this

  • 再次嘗試您的瀏覽器,並運行http://localhosthttp://127.0.0.1(可加80端口也)。它應該運行。

  • 事情是,nginx的IP,就是要泊塢窗虛擬機內訪問,因此,我們需要的是,爲了端口forwading設置,直接訪問它在主機的瀏覽器