簡體   English   中英

如何訪問在VMWare工作站中運行的tomcat docker容器?

[英]How to access tomcat docker container running in VMWare workstation?

我知道這個問題聽起來像是重復問題,但找不到適合我要求的其他問題。 所以我才剛剛開始使用docker開發tomcat應用程序。

VMWare Workstation中的Ubuntu 16中安裝docker並下載tomcat-docker映像后,我想使用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

而且我的HEAD標簽打印得很好,這意味着我成功實例化了tomcat。

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

謝謝

首先,您可以使用RUN命令,而不會通過-d選項丟失終端。 它以分離模式啟動容器,並且tomcat將在后台。

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

因此,運行命令應如下所示:

docker run -d -p 8000:8080 tomcat

其中8000是VM上的開放端口,而8080是tomcat在您的容器中偵聽的端口。 在端口8000上進入您的VM的流量將被重定向到tomcat容器公開的端口8080。

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

VM上的ifconfig應該足以滿足要求。 您應該能夠從主機上對其執行ping操作(以便以后可以通過瀏覽器對其進行訪問)。 因此,例如,如果您的VM的IP為192.168.1.50,則需要在瀏覽器中輸入以下內容:

192.168.1.50:8000

這里8000只是一個例子。 您也可以在運行命令中使用8080,以減少混亂:

docker run -d -p 8080:8080 tomcat

如果使用docker create創建容器,請使用--publish指定要發布到主機的端口:

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

然后,您可以開始:

docker start my-tomcat

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

您應該可以在瀏覽器中訪問http://ip-of-vm:8080

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM