泽兴芝士网

一站式 IT 编程学习资源平台

docker-compose部署rocketmq5.3.2

安装rocketmq

  1. 配置docker-compose配置文件
version: '3.9'

services:
  namesrv:
    image: test.aiet.top:29021/hrkj/rocketmq:5.3.2
    container_name: rmqnamesrv
    ports:
      - "9876:9876"
    networks:
      - rocketmq
    volumes:
      - /aiet/rocketmq/data/namesrv/logs:/root/logs
      - /aiet/rocketmq/data/namesrv/store:/root/store
    command: sh mqnamesrv
    healthcheck:
      test: ["CMD", "sh", "-c", "nc -z localhost 9876"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 2G
        reservations:
          memory: 1G
    restart: unless-stopped

  broker:
    image: test.aiet.top:29021/hrkj/rocketmq:5.3.2
    container_name: rmqbroker
    ports:
      - "10909:10909"
      - "10911:10911"
      - "10912:10912"
    environment:
      - NAMESRV_ADDR=rmqnamesrv:9876
      - JAVA_OPTS=-server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m
    depends_on:
      - namesrv
    networks:
      - rocketmq
    volumes:
      - /aiet/rocketmq/data/broker/logs:/root/logs
      - /aiet/rocketmq/data/broker/store:/root/store
      - /aiet/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf
    command: sh mqbroker -c /opt/rocketmq/conf/broker.conf
    healthcheck:
      test: ["CMD", "sh", "-c", "nc -z localhost 10911 || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 60s
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
      nproc:
        soft: 32000
        hard: 32000
    deploy:
      resources:
        limits:
          cpus: '4.0'
          memory: 6G
        reservations:
          memory: 4G
    restart: unless-stopped

  proxy:
    image: test.aiet.top:29021/hrkj/rocketmq:5.3.2
    container_name: rmqproxy
    networks:
      - rocketmq
    depends_on:
      - broker
      - namesrv
    ports:
      - "8080:8080"
      - "8081:8081"
    restart: unless-stopped
    environment:
      - NAMESRV_ADDR=rmqnamesrv:9876
      - JAVA_OPTS=-server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m
    command: sh mqproxy
    healthcheck:
      test: ["CMD", "sh", "-c", "nc -z localhost 8080 || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 1G
        reservations:
          memory: 512M

networks:
  rocketmq:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16

volumes:
  namesrv-data:
  broker-data:
  proxy-data:

1. nameserver端口9876,服务端使用此端口和rocketmq通信,如果你的服务端和rocketmq不在同一台服务器,此端口别忘记在防火墙打开和安全组打开,

2. networks网段172.28.0.0/16,如果被占用记得调整下

3. 数据卷目录:/aiet/rocketmq/data,改成自己的




安装RocketMQ Dashboard控制台

  1. 拉取镜像,拉取不动,搭建私有仓库,把镜像推送到私有仓库拉取,不懂联系我
docker pull apacherocketmq/rocketmq-dashboard:latest
docker pull test.aiet.top:29021/hrkj/rocketmq-dashboard:latest
  1. 运行容器,如果rocketmq和控制台在同一台服务器,使用下面命令,连接nameserver的端口
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=58.49.144.16:9876" -p 29100:8080 -t test.aiet.top:29021/hrkj/rocketmq-dashboard:latest


验证

进入broker容器创建一个mq管理员Topic

# 进入容器
docker exec -it rmqbroker bash

创建Topic

sh mqadmin updatetopic -t SMS_SEND_TOPIC -c DefaultCluster

rocketmq控制台监控到了


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言