如何配置vanilla虚拟机主机和docker以使用相同的虚拟网络?

时间:2017-02-15 16:08:53

标签: docker virtualbox nat

我正在使用带有elubow / cassandra的码头,可以启动3台机器。 我有一个安装了cassandra的virtualbox ubuntu guest,我希望它是基本节点。这三个docker机器应该是vbox实例的种子。

不使用桥接网络(在物理网络上提供IP)我希望让ubuntu来宾看到其他cassandra节点,并使用端口转发,允许我的主机连接到ubuntu上的某些端口。

我可以在vbox中创建NAT网络,并且可以使用docker network create创建类似的网络,但它不是同一个网络,并且docker似乎不知道在vbox中创建的那个,反之亦然。如何让所有这些访客使用相同的NAT网络?

2 个答案:

答案 0 :(得分:0)

由于使用不同的虚拟化子系统,您无法直接将VirtualBox VM连接到Docker for Mac VM。

要使它们关闭(网络方面),您可以向Cassandra VM添加"Host-only"适配器。这也将创建一个新的"环回" VM主机上的接口。

您的Mac可以分配IP为192.168.30.1,您的VM可以分配192.168.30.2。

容器将能够在没有映射端口的情况下直接访问192.168.30.2上的VM,并且VM可以直接连接到192.168.30.1上的Docker映射端口。

答案 1 :(得分:0)

考虑使用pipework https://github.com/jpetazzo/pipework

有关更多信息,请参阅https://github.com/opensdcp/opensdcp-infrastructure,这需要VM和br0桥之间的连接。

我只在Linux(Debian 9,Alpine Linux和Ubuntu 18.04桌面)上测试过这个。