首页 > 解决方案 > VirtualBox - 虚拟机、主机和互联网之间的连接,以及对在虚拟机内运行的容器化服务的访问

问题描述

我有三个运行不同系统的 VirtualBox VM。我需要所有虚拟机在它们之间进行通信并可以访问 Internet。

现在,我为每个 VM 配置了两个网络适配器。第一个网络适配器配置了 NAT 和 DHCP,用于 Internet 访问。第二个网络适配器配置为“仅主机”,具有静态 IP。虚拟机之间的通信正常,但我需要访问在其中一个虚拟机内运行的一些容器化服务。这些服务正在运行docker-compose

由于我无法为“仅主机”适配器配置端口转发,因此我正在寻找处理此问题的最佳方法。我在 Internet 上找到的大多数结果都表明我已经做了:NAT + host-only。那么,对于使用静态 IP、相互通信和 Internet 通信并允许访问在其上运行的容器化服务的 VBox VM 的最佳配置是什么?

标签: docker-composecontainersvirtual-machinevirtualboxvirtualization

解决方案


在寻找解决方案一天后,我认为问题可能出在 VBox 网络配置上,我发现 docker-compose 文件将访问限制为仅对 localhost:

ports
- 127.0.0.1:8500:8500

为了解决我的问题,我只是将所有这些信息更改为:

ports
- 8500:8500

现在,我成功访问了在 VBox VM 内的容器中运行的服务。我尝试使用我的第一个配置进行访问,即第一个适配器的 NAT 和第二个适配器的静态 IP 仅主机,并使用桥接配置。我两个都成功了。


推荐阅读