2015-11-01 63 views
16

我在Docker容器(node:4.2.1)內部運行webpack-dev-server應用程序。如果我嘗試從容器內連接到服務器端口 - 它工作正常。但是,嘗試從主機連接它會導致重置連接(當然,該端口已發佈)。我該如何解決它?從主機連接Docker容器內的webpack-dev-server

+0

你能告訴我們你的Dockerfile和你'泊塢窗run'命令? – hc2p

+0

我沒有Dockerfile,我正在從節點手動運行:4.2.1 image: 'docker -ti -p 8080:8080 node:4.2.1 bash' – avishorp

+1

你試圖連接什麼IP?默認情況下,Docker會將您的端口綁定到由0.0.0.0(INADDR_ANY)表示的所有可用接口。如果你想讓它綁定到localhost,執行'docker -ti -p 127.0.0.1:8080 node:4.2.1 bash' – hc2p

回答

2

你需要確保:

+0

這正是我正在做的。我試圖從運行Docker的計算機訪問容器,它們之間沒有虛擬機。 – avishorp

+0

@ user1442554因此,您的主機是Linux機器,而不是Mac或Windows? – VonC

+0

是的,這是一個Linux – avishorp

23

這個問題是不是一個碼頭工人的問題。

將--host = 0.0.0.0添加到您的webpack命令中。

您需要連接到你的網頁是這樣的:

http://host:port/webpack-dev-server/index.html

放眼iframe mode

+1

謝謝,這工作!你知道爲什麼嗎? – cgatian

+1

Webpack在這裏是一個網絡服務器。它的默認值是綁定到localhost(127.0.0.1)。因此,當您嘗試從主機連接到容器時,webpack會拒絕連接,因爲它不是本地連接。綁定到所有ips都可以做到這一點。 –

相關問題