2016-12-01 82 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 
相关问题