docker启动rocketmq的deldger
时间: 2025-01-10 13:50:56 浏览: 45
### 如何使用 Docker 启动 RocketMQ 的 Delldger 配置
#### 准备工作
为了确保能够顺利通过 Docker 启动带有 Delldger 配置的 RocketMQ,需先确认已安装好 Docker 和 Docker Compose 工具。
#### 获取镜像
拉取官方提供的 RocketMQ 镜像以及配套使用的 Console 控制面板镜像。对于 RocketMQ 主体服务而言,通常会采用 `styletang/rocketmq` 或者其他社区维护的良好版本作为基础环境构建起点[^1];而对于监控界面,则推荐使用 `styletang/rocketmq-console-ng` 来实现可视化操作和状态查看功能[^2]。
```bash
docker pull styletang/rocketmq
docker pull styletang/rocketmq-console-ng
```
#### 编写配置文件
创建名为 `docker-compose.yml` 的组合定义文档来简化多容器间的协调运作流程:
```yaml
version: '3'
services:
namesrv:
image: styletang/rocketmq
container_name: rmq-namesrv
environment:
- MAX_HEAP_SIZE=512m
-c "while true; do echo open | nc 0.0.0.0 9876 & sleep 1; done"
broker:
image: styletang/rocketmq
container_name: rmq-broker
depends_on:
- namesrv
ports:
- "10911:10911"
- "10909:10909"
environment:
- NAMESRV_ADDR=rmq-namesrv:9876
- MAX_HEAP_SIZE=512m
- JAVA_OPTS=-Xms512m -Xmx512m
volumes:
- ./data/broker:/home/rocketmq/data
entrypoint: ["sh", "-c", "sed -i 's/#brokerRole=SYNC_MASTER/brokerRole=ASYNC_MASTER/' /opt/rocketmq/conf/broker.conf && sed -i 's/#namesrvAddr=/namesrvAddr=${NAMESRV_ADDR}/' /opt/rocketmq/conf/broker.conf && nohup sh mqbroker -n ${NAMESRV_ADDR} >& /dev/null <&- &"]
console:
image: styletang/rocketmq-console-ng
container_name: rmq-console
depends_on:
- namesrv
ports:
- "8080:8080"
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=rmq-namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
```
此段 YAML 文件描述了一个完整的 RocketMQ 环境设置方案,其中包含了 Name Server、Broker 及 Web 控制台三个部分,并特别指定了 Broker 将以异步模式运行(即 ASYNC_MASTER),这有助于提高消息处理效率的同时也降低了主节点的压力[^3]。
#### 执行启动命令
完成上述准备工作之后,在包含 `docker-compose.yml` 文件所在的目录下执行如下指令即可一键部署整个集群架构:
```bash
docker-compose up -d
```
该命令将会按照指定的服务依赖关系依次初始化各个组件实例并将其置于后台持续运行之中。
阅读全文
相关推荐


















