emqx docker-compose配置

version: '3'
services:
  ###################nginx###########################
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 80:80
      - 8099:8099
      - 443:443
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /home/scada-servers/resource/webs:/home/scada-servers/resource/webs
      - /home/scada-servers/resource/images:/home/scada-servers/resource/images
      - /home/scada-servers/resource/nginx/conf:/etc/nginx
      - /usr/local/nginx/logs:/var/log/nginx
    #network_mode: "host"

  ###################redis###########################
  redis:
    image: redis:5.0
    container_name: redis
    ports:
      - 6379:6379
    restart: always
    command: redis-server --requirepass jack_2022 --appendonly yes --dir /data
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/hosts:/etc/hosts:ro
      - /home/scada-servers/resource/redis:/data
      - /usr/local/redis/bin/redis.conf:/etc/redis.conf
    #network_mode: "host"

  ###################nacos###########################
  nacos:
    restart: always
    image: nacos/nacos-server
    container_name: nacos
    depends_on:
      - mysql
    ports:
      - 8848:8848
      - 9555:9555
    environment:
      MODE: standalone
      #      NACOS_AUTH_ENABLE: "true"
      #      SPRING_DATASOURCE_PLATFORM: mysql
      #      MYSQL_DATABASE_NUM: 1
      #      NACOS_REPLICAS: 1
      #      MYSQL_SERVICE_HOST: mysql
      #      MYSQL_SERVICE_DB_NAME: nacos
      #      MYSQL_SERVICE_PORT: 3306
      #      MYSQL_SERVICE_USER: root
      #      MYSQL_SERVICE_PASSWORD: root@123456
      #      NACOS_APPLICATION_PORT: 8848
      #      NACOS_SERVER_PORT: 8848
      #      PREFER_HOST_MODE: hostname
      JVM_XMS: 512m
      JVM_MMS: 320m
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /home/nacos/data:/home/nacos/data
      #- /home/scada-servers/resource/nacos/conf/application.properties:/home/nacos/conf/application.properties
      - /home/scada-servers/resource/nacos/logs:/home/nacos/logs
    #network_mode: "host"


  rabbitmq:
    image: rabbitmq:management
    #hostname: rabbit
    container_name: rabbitmq
    restart: always
    ports:
      - 5672:5672
      - 15672:15672
    environment:
      RABBITMQ_DEFAULT_VHOST: '/'
      RABBITMQ_DEFAULT_USER: jack
      RABBITMQ_DEFAULT_PASS: 123456
    volumes:
      - ./rabbit/data:/var/lib/rabbitmq

  emqx:
    image: emqx/emqx:4.3.12
    container_name: emqx
    environment:
      - "EMQX_AUTH__HTTP__AUTH_REQ__URL=http://ip:8301/scada/mqtt/auth"
      - "EMQX_AUTH__HTTP__ACL_REQ__URL=http://ip:8301/scada/mqtt/acl"
      - "EMQX_ALLOW_ANONYMOUS=false"
      - "EMQX_WEB__HOOK__URL=http://ip:8301/scada/mqtt/info"
      - "EMQX_WEB__HOOK__RULE__MESSAGE__PUBLISH__1={\"action\": \"on_message_publish\"}"
      - "EMQX_WEB__HOOK__RULE__CLIENT__CONNECTED__1={\"action\": \"on_client_connected\"}"
      - "EMQX_WEB__HOOK__RULE__CLIENT__DISCONNECTED__1={\"action\": \"on_client_disconnected\"}"
      - "EMQX_LOADED_PLUGINS=emqx_auth_http,emqx_rule_engine,emqx_web_hook,emqx_recon,emqx_retainer,emqx_management,emqx_dashboard"
    ports:
      - "1883:1883"
      - "8081:8081"
      - "8083:8083"
      - "8883:8883"
      - "8084:8084"
      - "18083:18083"
    restart: always

  zoo1:
    image: zookeeper:latest
    restart: always
    ports:
      - 2181:2181

  mysql:
    container_name: "mysql"        # 指定容器的名称
    image: "mysql:latest"              # 指定镜像和版本
    network_mode: host    # 主机模式
    environment:
      MYSQL_ROOT_PASSWORD: "root_123456"
      MYSQL_ROOT_HOST: "%"
    volumes:
      #- /home/scada-servers/resource/sql:/docker-entrypoint-initdb.d
      - /etc/localtime:/etc/localtime:ro
      - /home/scada-servers/resource/mysql:/var/lib/mysql
      - ./mysql/config:/etc/mysql/conf.d
      - /opt/lenovo/data/mysql/data:/var/lib/mysql
    command:
      - --lower_case_table_names=1                             # 忽略大小写
      - --default-authentication-plugin=mysql_native_password  # 使用本地存储密码
      - --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用 Docker Compose 配置分布式 EMQ X 集群的示例: ```yaml version: '3' services: emqx1: image: emqx/emqx:4.3.0 environment: - EMQX_NAME=emqx1 - EMQX_HOST=emqx1 - EMQX_LISTENER__TCP__EXTERNAL=1883 - EMQX_CLUSTER__ENABLED=true - EMQX_CLUSTER__NAME=emqx_cluster - EMQX_CLUSTER__DISCOVERY=static - EMQX_CLUSTER__STATIC__SEEDS=emqx2:nodes@emqx2,emqx3:nodes@emqx3 ports: - 1883:1883 networks: emqx_network: emqx2: image: emqx/emqx:4.3.0 environment: - EMQX_NAME=emqx2 - EMQX_HOST=emqx2 - EMQX_LISTENER__TCP__EXTERNAL=1884 - EMQX_CLUSTER__ENABLED=true - EMQX_CLUSTER__NAME=emqx_cluster - EMQX_CLUSTER__DISCOVERY=static - EMQX_CLUSTER__STATIC__SEEDS=emqx1:nodes@emqx1,emqx3:nodes@emqx3 ports: - 1884:1883 networks: emqx_network: emqx3: image: emqx/emqx:4.3.0 environment: - EMQX_NAME=emqx3 - EMQX_HOST=emqx3 - EMQX_LISTENER__TCP__EXTERNAL=1885 - EMQX_CLUSTER__ENABLED=true - EMQX_CLUSTER__NAME=emqx_cluster - EMQX_CLUSTER__DISCOVERY=static - EMQX_CLUSTER__STATIC__SEEDS=emqx1:nodes@emqx1,emqx2:nodes@emqx2 ports: - 1885:1883 networks: emqx_network: networks: emqx_network: ``` 这个示例中配置了一个包含三个 EMQ X 节点的集群,每个节点的名称和主机名分别为 `emqx1`、`emqx2` 和 `emqx3`。每个节点都将监听不同的端口,分别是 `1883`、`1884` 和 `1885`。节点之间通过静态发现进行通信,使用的集群名称是 `emqx_cluster`。 你可以将上面的配置保存为 `docker-compose.yml` 文件,然后在该文件所在的目录下运行 `docker-compose up -d` 命令来启动集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值