1. 创建目录和配置文件

# 创建目录结构
mkdir -p ~/workspace/docker/rocketmq/{namesrv/logs,broker/{logs,store,conf}}

# 创建 broker 配置文件
cat > ~/workspace/docker/rocketmq/broker/conf/broker.conf <<EOF
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
# 注释才能加入网络
#brokerIP1=0.0.0.0
EOF

2. 创建 Docker 网络

# 创建 RocketMQ 网络(已存在会提示报错,忽略即可)
docker network create rocketmq

3. 启动 NameServer

docker run -d \
  --name rmq-namesrv \
  --network rocketmq \
  --user 3000 \
  -p 9876:9876 \
  -v ~/workspace/docker/rocketmq/namesrv/logs:/home/rocketmq/logs \
  apache/rocketmq:4.9.5 sh mqnamesrv

4. 启动 Broker

docker run -d \
  --name rmq-broker \
  --network rocketmq \
  --user 3000 \
  -p 10909:10909 -p 10911:10911 \
  -v ~/workspace/docker/rocketmq/broker/logs:/home/rocketmq/logs \
  -v ~/workspace/docker/rocketmq/broker/store:/home/rocketmq/store \
  -v ~/workspace/docker/rocketmq/broker/conf:/home/rocketmq/conf \
  apache/rocketmq:4.9.5 sh mqbroker -n rmq-namesrv:9876 -c /home/rocketmq/conf/broker.conf

5. 启动 Dashboard

docker run -d \
  --name rocketmq-dashboard \
  --network rocketmq \
  -p 8080:8080 \
  -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmq-namesrv:9876" \
  styletang/rocketmq-console-ng

使用说明

  1. 执行顺序:按 1→2→3→4→5 的顺序执行
  2. 访问地址
    • NameServer: localhost:9876
    • Broker: localhost:10911
    • Dashboard: http://localhost:8082
  3. 停止服务docker stop rmq-namesrv rmq-broker rocketmq-dashboard
  4. 删除容器docker rm rmq-namesrv rmq-broker rocketmq-dashboard

更多推荐