Consul.io - 如何在同一台机器上运行多个服务器

KKO*_*KKO 6 consul server

这对您来说可能是一个非常基本的问题,但我只是进入领事并进行测试,我想在我的PC上运行多个服务器.例如,我用第一台服务器运行

consul agent -server -bootstrap-expect=1 -dc=dev -data-dir=/tmp/consul -ui-dir="c:/consul 0.5.2/dist"
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行第二个服务器

consul agent -server -data-dir=/tmp/consul2 -dc=dc2
Run Code Online (Sandbox Code Playgroud)

但它回来了

==> Error starting agent: Failed to start Consul server: Failed to start RPC lay
er: listen tcp 0.0.0.0:8300: bind: Only one usage of each socket address (protoc
ol/network address/port) is normally permitted.
Run Code Online (Sandbox Code Playgroud)

我的命令中缺少什么?

Brr*_*rrr 5

您将使用大多数默认值启动两个consul服务器.在这种情况下,问题是您使用默认端口.

当您阅读错误消息时,您会注意到您的第二个consul服务器尝试绑定到端口8300.但是您的第一个服务器已经在使用此端口,导致第二个服务器在启动时失败.(注意:consul绑定到各种端口,每个端口都有其他用途和默认设置.请查看 文档).

根据LenW的建议,您可以使用Vagrant来设置您的环境.你可以按照领事教程.

如果您不想自己使用vagrant或设置任何虚拟机.您可以更改第二台服务器的默认值.


Len*_*enW 1

如果您尝试在开发机器上模拟生产拓扑,我会考虑使用Vagrant与VirtualBox结合来模拟几台机器进行测试。