emqx多主机docker集群配置方式

emqx想要在多主机部署成集群形式,同时又想要部署在docker里面进行cpu,内存等限制,参考一下下面的run命令

首先获取镜像docker pull emqx/emqx:tag

然后修改一下下面的run命令

  1 docker run -tid --name emqx --restart=always --cpus=0.6 --network host \
  2     -e EMQX_LISTENER__TCP__EXTERNAL=1883 \
  3     -e EMQX_NAME=XXXXX \
  4     -e EMQX_HOST=IP地址/域名 \
  5     -e EMQX_MANAGEMENT__LISTENER__HTTP=18080 \
  6     -e EMQX_CLUSTER__NAME=ys_emqxcl \
  7     -e EMQX_CLUSTER__DISCOVERY=static \
  8     -e EMQX_CLUSTER__STATIC__SEEDS="....." \
  9     -e EMQX_NODE__DIST_LISTEN_MIN=6000 \
 10     -e EMQX_NODE__DIST_LISTEN_MAX=7999 \
 11     -e EMQX_NODE__COOKIE=emqxsecretcookie \
 12     emqx/emqx:v3.2.7

比较需要注意的是--network选择host,同时EMQX_NODE__COOKIE和EMQX_CLUSTER__NAME在集群内部要保持一致,这样和直接部署在主机上一样,但是同时又利用了docker的限制资源的能力,算是投机取巧吧,linux貌似可以直接限制进程的资源使用。

参考:https://hub.docker.com/r/emqx/emqx

posted @ 2020-10-09 19:04  MarshWinter  阅读(2378)  评论(0编辑  收藏  举报