Docker 搭建EMQX集群

端口映射

4369->
5369->
6369->
1883->60001,60002,60003
8083->60004,60005,60006
8084->60006,60008,60009
8883->60010,60011,60012
11883->60013,60014,60015
18083->60016,60017,60018

Cluster

下载镜像

sudo docker pull emqx/emqx:v4.0.5

创建虚拟网络

sudo docker network create -d bridge --subnet=172.18.0.0/16 emqx_bridge

启动3个容器

sudo docker run -d --hostname emqx01 --name emqx01 --network emqx_bridge --ip 172.18.0.2 -p 60002:1883 -p 60005:8083 -p 60011:8883 -p 60008:8084 -p 60017:18083 -p 60014:11883 -v /etc/localtime:/etc/localtime:ro emqx/emqx:v4.0.5


sudo docker run -d --hostname emqx02 --name emqx02 --network emqx_bridge --ip 172.18.0.3 -p 60002:1883 -p 60005:8083 -p 60011:8883 -p 60008:8084 -p 60017:18083 -p 60014:11883 -v /etc/localtime:/etc/localtime:ro emqx/emqx:v4.0.5


sudo docker run -d --hostname  emqx03 --name emqx03 --network emqx_bridge --ip 172.18.0.4 -p 60003:1883 -p 60006:8083 -p 60012:8883 -p 60009:8084 -p 60018:18083 -p 60015:11883 -v /etc/localtime:/etc/localtime:ro emqx/emqx:v4.0.5

创建集群

sudo docker exec -it emqx02 sh
bin/emqx_ctl  cluster join emqx01@172.18.0.2
exit

sudo docker exec -it emqx03 sh
bin/emqx_ctl  cluster join emqx01@172.18.0.2
bin/emqx_ctl cluster status
exit

Nginx代理在适当位置加入下面配置

stream{
        # emqx tcp
        upstream emqxTcp {
                #hash $remote_addr consistent;
                server xxx.com.cn:60001 max_fails=3 fail_timeout=30s;
                server xxx.com.cn:60002 max_fails=3 fail_timeout=30s;
                server xxx.com.cn:60003 max_fails=3 fail_timeout=30s;
        }

        # emqx tcp server
        server {
                listen 1883;
                #proxy_timeout 180s;
                proxy_pass emqxTcp;
        }
}

http {

upstream emqxManage {
        server xxx.com.cn:60016;
        server xxx.com.cn:60017;

        server xxx.com.cn:60018;
}
server {
    listen    18083;
    server_name   xxx.com.cn;
    location / {
        proxy_pass    http://emqxManage;
        index    index.html    index.htm;
    }
}

}

访问测试 http://xxx.com.cn:18083

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值