如何在 VMWare 工作站中访问 tomcat docker 容器 运行?
How to access tomcat docker container running in VMWare workstation?
我知道这个问题听起来像是一个重复问题,但我找不到其他适合我要求的问题。所以我刚开始使用 docker 开发 tomcat 应用程序。
在VMWare Workstation里面的Ubuntu16中安装docker后,下载tomcat-docker镜像,我想要使用 START 命令而不是 运行.
来启动 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??
谢谢
首先,您可以使用 运行 命令,而无需使用 -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
。
我知道这个问题听起来像是一个重复问题,但我找不到其他适合我要求的问题。所以我刚开始使用 docker 开发 tomcat 应用程序。
在VMWare Workstation里面的Ubuntu16中安装docker后,下载tomcat-docker镜像,我想要使用 START 命令而不是 运行.
来启动 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??
谢谢
首先,您可以使用 运行 命令,而无需使用 -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
。