[英]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.