如何从主机访问在虚拟机上运行的tomcat实例

如何从主机访问在虚拟机上运行的tomcat实例,tomcat,virtual-machine,virtualbox,Tomcat,Virtual Machine,Virtualbox,我已经安装了Oracle VM VirtualBox,并创建了一个运行Ubuntu Server 18 LTS的虚拟机。在虚拟机内部,我下载并启动了ApacheTomcat9。现在,如果我从虚拟机中启动Firefox并在地址栏中键入localhost:8080,我可以正确地看到Tomcat欢迎页面。 但是如果我想从主机上查看Tomcat欢迎页面呢?来自虚拟机外部的适配器?虚拟机必须只有一个适配器。其类型必须为“桥接适配器”。为了理解虚拟机的ip地址,您必须键入ifconfig(在虚拟机上)。这实

我已经安装了Oracle VM VirtualBox,并创建了一个运行Ubuntu Server 18 LTS的虚拟机。在虚拟机内部,我下载并启动了ApacheTomcat9。现在,如果我从虚拟机中启动Firefox并在地址栏中键入
localhost:8080
,我可以正确地看到Tomcat欢迎页面。
但是如果我想从主机上查看Tomcat欢迎页面呢?来自虚拟机外部的适配器?

虚拟机必须只有一个适配器。其类型必须为“桥接适配器”。为了理解虚拟机的ip地址,您必须键入ifconfig(在虚拟机上)。

这实际上不是关于Tomcat的问题,而是关于网络的问题。您使用的是NAT还是桥接网络?桥接网络使这变得简单:只需使用主机的IP地址,而不是主机名“localhost”。这可以通过NAT完成,但它更复杂,因为您需要确保在来宾计算机和在网络外部发送数据的主机之间存在路由。最初,我有一个NAT适配器。然后我读了一本指南,建议我添加一个只支持主机的适配器。只支持主机的网络意味着虚拟机在理论上是一个不可逃避的盒子,从网络角度来看。如果你想从虚拟机到主机,你需要使用另一种网络适配器。你说得对。网桥网络是必需的,但您需要主机的IP地址才能从来宾访问它。因此,您确实需要在主机上运行
ifconfig
,而不是在来宾机上运行。@ChristopherSchultz但这与OP想要做的相反。OP想要在VM/来宾机上运行浏览器,并在主机上运行服务器。好像他们想从里面到外面。因此,您需要的是主机的IP地址,而不是来宾的IP地址。不,我在来宾上运行服务器(tomcat在来宾上运行),我想从主机访问它。所以我需要客人的ip。