docker 安装rocketmq 持久化
时间: 2024-04-15 10:23:43 浏览: 225
Docker是一种容器化平台,可以帮助开发者将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中进行部署和运行。RocketMQ是一个开源的分布式消息队列系统,用于实现高可靠、高吞吐量的消息传递。
要在Docker中安装RocketMQ并实现持久化,可以按照以下步骤进行操作:
1. 首先,确保已经安装了Docker和Docker Compose。可以通过官方网站或其他渠道获取并安装它们。
2. 创建一个新的目录,用于存放RocketMQ的配置文件和数据。例如,可以在主机上创建一个名为`rocketmq`的目录。
3. 在`rocketmq`目录下创建一个名为`docker-compose.yml`的文件,并添加以下内容:
```yaml
version: '3'
services:
namesrv:
image: rocketmqinc/rocketmq:4.8.0
container_name: rocketmq_namesrv
ports:
- 9876:9876
volumes:
- ./data/namesrv/logs:/root/logs
- ./data/namesrv/store:/root/store
command: sh mqnamesrv
broker:
image: rocketmqinc/rocketmq:4.8.0
container_name: rocketmq_broker
ports:
- 10909:10909
- 10911:10911
environment:
- NAMESRV_ADDR=namesrv:9876
volumes:
- ./data/broker/logs:/root/logs
- ./data/broker/store:/root/store
command: sh mqbroker -c /opt/rocketmq-4.8.0/conf/broker.conf
console:
image: styletang/rocketmq-console-ng
container_name: rocketmq_console
ports:
- 8080:8080
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876
```
4. 在`rocketmq`目录下创建一个名为`broker.conf`的文件,并添加以下内容:
```properties
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
```
5. 运行以下命令启动RocketMQ容器:
```bash
docker-compose up -d
```
6. 等待一段时间,RocketMQ容器将会启动并运行。可以通过访问`http://localhost:8080`来访问RocketMQ控制台。
至此,你已经成功在Docker中安装了RocketMQ并实现了持久化。
阅读全文