2016-12-01 81 views
0

我知道這個問題聽起來像一個重複的問題,但我找不到符合我的要求的其他問題。所以我剛開始使用docker開發tomcat應用程序。如何訪問在VMWare工作站中運行的tomcat docker容器?

VMWare下的Ubuntu安裝16泊塢窗工作站,並下載Tomcat的搬運工圖像後,我想用START命令而不是RUN來啓動Tomcat容器。

我使用START命令,因爲我不想卡在STDOUT中,並且能夠繼續使用Linux命令行。所以,我用下面的命令

$ docker start name_of_container 

啓動容器然後,我發出命令檢查

$ docker inspect name_of_container 

我設法看到我的Tomcat實例使用IP:172.17.0.2。 所以我也喜歡捲曲:

$ curl 172.17.0.2:8080 | head 

而且我得到了我的頭標籤印刷完美,這意味着我成功實例我的tomcat。

我的問題是:如何從Windows中的瀏覽器訪問我的tomcat?如何在VMWare中創建端口轉發以使我可以訪問IP 172.17.0.2?

謝謝

回答

1

如果使用docker create創建容器,指定端口發佈到主機與--publish

docker create --publish 8080:8080 --name my-tomcat tomcat 

然後就可以開始您可以在運行命令使用8080太爲減少混亂搭配:

docker start my-tomcat 

端口8080主機上現在的流量發送到容器的口8080

您應該可以在您的瀏覽器中達到http://ip-of-vm:8080

1

首先,您可以使用RUN命令,而不用使用-d選項丟失終端。它以分離模式啓動容器,tomcat將在後臺運行。

其次,運行容器時,需要使用-p選項將其公開端口映射到虛擬機中的另一個端口。

所以運行命令應該是這樣的:

docker run -d -p 8000:8080 tomcat 

其中8000是你的虛擬機開放端口,並且8080是Tomcat監聽到你的集裝箱港口。在端口8000上到達VM的流量將被重定向到tomcat容器公開的8080端口。

最後,您將需要找到您的虛擬機的IP,而不是您的容器的IP。

虛擬機上的ifconfig應該足夠了。你應該能夠從你的主機ping它(所以稍後可以從瀏覽器訪問它)。 所以,如果你的虛擬機的IP變成是192.168.1.50(例如),您需要在瀏覽器中輸入:

192.168.1.50:8000

這裏8000僅僅是一個例子。

docker run -d -p 8080:8080 tomcat 
相關問題