如何设置虚拟机之间的通信

如何设置虚拟机之间的通信

我的问题可能不难解决,但我遇到了困难。

我有几个 LXC 容器。其中一个容器安装并配置了 MySQL、RabbitMQ、MongoDB(以及其他几个服务)。其他每个容器都在主板上运行需要 MySQL、RabbitMQ、MongoDB 和其他服务的服务。除此之外,每个容器之间都进行通信(HTTP、套接字)。

问题是这些容器的 IP 发生了变化。当这种情况发生时,我需要更改每个容器上的配置文件。IP 发生变化是因为它们从 DHCP 服务器获取 IP,而当我将笔记本电脑从一个地方移动到另一个地方时,DHCP 服务器会更改 IP。这并不是 IP 可以更改的唯一原因。此外,我需要一些 IP 是公开的,这样我才能从其他 PC 连接到同一 LAN 内的某个容器。

我想到的一个解决方案是在主机上启动并配置 dnsmasq(或其他本地 DHCP 服务器),但我不确定这是否能解决问题。还有一点非常重要:我想避免对主机进行额外的配置。

还有其他方法可以设置虚拟机之间的通信吗?您将如何解决这样的任务?

已编辑:抱歉,静态 IP 不适合我的需要,因为有时我想在同一个 LAN 内的不同 PC 上启动一组容器。

相关内容