我正在使用带有elubow / cassandra的码头,可以启动3台机器 . 我有一个安装了cassandra的virtualbox ubuntu guest,我希望它是基本节点 . 这三个docker机器应该是vbox实例的种子 .
如果不使用桥接网络(在物理网络上提供IP),我希望让ubuntu来宾看到其他cassandra节点,并使用端口转发,允许我的主机连接到ubuntu上的某些端口 .
我可以在vbox中创建NAT网络,并且可以使用docker network create创建类似的网络,但它不是同一个网络,并且docker似乎不知道在vbox中创建的那个,反之亦然 . 如何让所有这些来宾使用相同的NAT网络?
2 回答
您无法直接将VirtualBox VM连接到Docker for Mac VM,因为它们使用不同的虚拟化子系统 .
要使它们关闭(网络方式),您可以向Cassandra VM添加"Host-only"适配器 . 这还将在VM主机上创建新的"loopback"接口 .
您的mac可以分配IP为192.168.30.1,并且您的VM可以分配192.168.30.2 .
容器将能够在没有映射端口的情况下直接访问192.168.30.2上的VM,并且VM可以直接连接到192.168.30.1上的Docker映射端口 .
考虑使用
pipework
https://github.com/jpetazzo/pipework .有关更多信息,请参阅https://github.com/opensdcp/opensdcp-infrastructure,这需要VM和br0桥之间的连接 .
我只在Linux(Debian 9,Alpine Linux和Ubuntu 18.04 Desktop)上测试了这个 .