我有几个需要协同工作且需要相互通信的应用程序。
这些应用程序可以安装在不同的主机上,这些主机可以在不同的本地网络中,但所有主机都通过全局网络连接在一起。
主机可以是Linux(CenOS、Debian、Ubuntu)或Windows(7/10)。
现在,我需要确定哪个主机正在运行应用程序。
要求如下: - 在同一台主机上运行的每个应用程序具有相同的“主机ID” - 每个“主机ID”在所有主机中均为唯一
由于主机可以是物理机器、虚拟机甚至是docker实例,因此我不认为我可以使用主机名作为“全局唯一ID”。
由于主机可以处于不同的本地网络中,因此我不认为我可以使用本地IP地址作为“全局唯一ID”。
那么我该使用哪些数据?也许是网络适配器MAC地址?即使在同一docker的多个实例之间,它是否保证是唯一的?
谢谢。
这些应用程序可以安装在不同的主机上,这些主机可以在不同的本地网络中,但所有主机都通过全局网络连接在一起。
主机可以是Linux(CenOS、Debian、Ubuntu)或Windows(7/10)。
现在,我需要确定哪个主机正在运行应用程序。
要求如下: - 在同一台主机上运行的每个应用程序具有相同的“主机ID” - 每个“主机ID”在所有主机中均为唯一
由于主机可以是物理机器、虚拟机甚至是docker实例,因此我不认为我可以使用主机名作为“全局唯一ID”。
由于主机可以处于不同的本地网络中,因此我不认为我可以使用本地IP地址作为“全局唯一ID”。
那么我该使用哪些数据?也许是网络适配器MAC地址?即使在同一docker的多个实例之间,它是否保证是唯一的?
谢谢。
docker run --lxc-conf="lxc.network.hwaddr=92:20:de:b0:6b:61" my_image ifconfig
命令修改MAC地址。 - abkrim