2016-01-10 44 views
2

第一次只使用Docker,所以我很可能犯了一個新手的錯誤,但是在這裏。我正嘗試使用reactioncommerce/reaction圖片,並且它看起來運行正常。但是,我似乎無法從主機連接到服務器。無法從主機連接到Docker容器

我按照Docker Hub page的建議運行docker run -p :8080 -it reaction,然後嘗試通過在主機上的瀏覽器上訪問http://localhost:8080來訪問它,但無法建立連接。我哪裏錯了?

我在Linux Mint主機上運行。

回答

4

我認爲你的問題將是你的-ppublish)國旗。假設您的容器實際上是在端口8080上進行偵聽 - 請嘗試-p 8080:8080這會將localhost:8080映射到您的容器。 (好吧,從技術上講,它會映射0.0.0.0:8080這是所有地址 - 包括外部)

但我想如果你沒有指定左側的東西,你會得到一個隨機的端口號映射 - 你應該能夠在docker ps中看到此內容或使用docker port命令。

當您運行docker run -it時,您將以交互方式啓動它 - 除非您另行指定,否則它應該啓動'docker文件中定義的任何內容'。我認爲這將是你想要的服務,但我不知道那個應用程序。您也可以使用在後臺運行容器的標誌-d

0

我相信,這個命令將工作:

docker run -p 127.0.0.1:8080:8080 -it reaction 

我試圖做同樣的事情用一個本地網絡服務器,但直到我說的地址127.0.0.1到無法連接到使用localhost我的容器我的-p命令。

/etc/hosts文件應具有以下條目:

127.0.0.1 localhost 

這將解決該領域localhost讓您使用它來訪問你的服務器。

相關問題