version: '3.8' services: # NameServer 服务 rocketmq-namesrv: image: apache/rocketmq:5.2.0 container_name: rocketmq-namesrv ports: - "9876:9876" # 移除挂载配置 command: sh mqnamesrv restart: always networks: - rocketmq-network environment: - TZ=Asia/Shanghai # 调整JVM内存,避免内存不足 - ROCKETMQ_OPT="-Xms256m -Xmx256m -Xmn128m" # Broker 服务 rocketmq-broker: image: apache/rocketmq:5.2.0 container_name: rocketmq-broker ports: - "10911:10911" - "10909:10909" # 移除挂载配置,直接通过环境变量传递核心配置 command: > sh mqbroker -n rocketmq-namesrv:9876 -c /home/rocketmq/conf/broker.conf -Drocketmq.broker.ip1=你的服务器IP -Drocketmq.broker.autoCreateTopicEnable=true -Drocketmq.broker.autoCreateSubscriptionGroup=true depends_on: - rocketmq-namesrv environment: - TZ=Asia/Shanghai - NAMESRV_ADDR=rocketmq-namesrv:9876 - ROCKETMQ_OPT="-Xms512m -Xmx512m -Xmn256m" restart: always networks: - rocketmq-network # RocketMQ 控制台(端口改为8083) rocketmq-dashboard: image: apacherocketmq/rocketmq-dashboard:2.0.0 container_name: rocketmq-dashboard ports: - "8083:8080" # 宿主机8083端口映射到容器8080 environment: - NAMESRV_ADDR=rocketmq-namesrv:9876 - TZ=Asia/Shanghai depends_on: - rocketmq-namesrv restart: always networks: - rocketmq-network networks: rocketmq-network: driver: bridge