version: '3' services: # 命名服务 rocketmq-namesrv: image: apache/rocketmq:5.2.0 container_name: rocketmq-namesrv ports: - "9876:9876" # namesrv 默认端口 volumes: - ./rocketmq/namesrv/logs:/root/logs # 日志挂载 command: sh mqnamesrv # 启动命名服务 networks: - rocketmq-network # 消息代理 rocketmq-broker: image: apache/rocketmq:5.2.0 container_name: rocketmq-broker ports: - "10909:10909" # 客户端通信端口 - "10911:10911" # 主从同步端口 volumes: - ./rocketmq/broker/logs:/root/logs # 日志挂载 - ./rocketmq/broker/store:/root/store # 数据存储挂载 - ./rocketmq/broker/conf/broker.conf:/opt/rocketmq-5.2.0/conf/broker.conf # 配置文件挂载 environment: - NAMESRV_ADDR=rocketmq-namesrv:9876 # 关联 namesrv 地址 - JAVA_OPTS="-Duser.home=/opt" # 解决路径权限问题 command: sh mqbroker -c /opt/rocketmq-5.2.0/conf/broker.conf # 加载自定义配置启动 depends_on: - rocketmq-namesrv networks: - rocketmq-network # 控制台 rocketmq-console: image: apacherocketmq/console:2.0.0 container_name: rocketmq-console ports: - "8080:8080" # 控制台访问端口 environment: - NAMESRV_ADDR=rocketmq-namesrv:9876 # 关联 namesrv 地址 depends_on: - rocketmq-namesrv networks: - rocketmq-network networks: rocketmq-network: driver: bridge