基于docker搭建集群的若干问题

我想基于docker的方式模拟这样一个场景。
有A,B,C三台服务器,A、B分别充当core节点。C充当A的一个replicant。然后在A服务器上再启动一个容器,也当做A的一个replicant。


就是模拟一个简化的

我用的是镜像是emqx/emqx-enterprise:5.9.0,并且申请了测试的License。

启动容器的命令如下。

docker run -d \
    --name emqx \
    -e "EMQX_NODE_NAME=emqx@192.168.3.9" \
    -p 1883:1883 \
    -p 8083:8083 \
    -p 8084:8084 \
    -p 8883:8883 \
    -p 18083:18083 \
    -p 4370:4370 \
    emqx/emqx-enterprise:5.9.0

问题1,如何正确的创建A的replicant
我尝试了用一样的docker命令启动,然后进入容器,把/opt/emqx/emqx.conf中的做了一下修改

node {
  name = "emqx@127.0.0.1"
  cookie = "emqxsecretcookie"
  data_dir = "data"
  role = "replicant"  # 新增
}

日志如下


导致服务无法启动。

replicant 要配置好集群,core 节点启动后,replicant 才能连上 core 的。