diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..75e59d4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,61 @@ +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 \ No newline at end of file