vernemq 集群 docker-compose 搭建简单试用

时间:2022-01-16 00:52:09

vernemq 是一款开源的mqtt broker, 支持cluster 模式部署,而且部署比较简单
以下是一个使用docker-compose 搭建环境的demo

环境准备

  • docker-compose 文件
 
version: "3"
services:
  init:
    image: erlio/docker-vernemq
    environment:
    - "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
    ports:
    - "1883:1883"
    - "8080:8080"
    - "8888:8888"
    networks:
      app_net:
        ipv4_address: 172.16.238.10
  first:
    image: erlio/docker-vernemq
    environment:
    - "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
    - "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
    networks:
      app_net:
        ipv4_address: 172.16.238.11
  second:
    image: erlio/docker-vernemq
    environment:
    - "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
    - "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
    networks:
      app_net:
        ipv4_address: 172.16.238.12
  third:
    image: erlio/docker-vernemq
    environment:
    - "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
    - "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
    networks:
      app_net:
        ipv4_address: 172.16.238.13
networks:
  app_net:
    driver: bridge
    ipam:
      driver: default
      config:
      -
        subnet: 172.16.238.0/24
 
 
  • 说明
    为了简单,使用了固定的ip,因为集群的节点发现需要使用ip 地址

启动&&测试

  • 启动
 
docker-compose up -d
  • 测试
    登陆节点使用vmq-admin 工具查看集群信息就可以了
    比如:进入容器 docker exec -it vermq-clutser-project_first_1 sh
 
 vmq-admin cluster show
+---------------------+-------+
| Node |Running|
+---------------------+-------+
|VerneMQ@172.16.238.10| true |
|VerneMQ@172.16.238.11| true |
|VerneMQ@172.16.238.12| true |
|VerneMQ@172.16.238.13| true |
 

说明

这个只是简单的环境搭建,vernemq 的功能还是很强大的,还需要 在仔细研究

参考资料

https://github.com/rongfengliang/vernemq-clutser-docker-compose
https://docs.vernemq.com/installing-vernemq/docker