docker部署rocketmq(docker部署项目的两种方式)

## Docker 部署 RocketMQ### 简介RocketMQ 是一个开源的分布式消息和流数据平台,具有低延迟、高性能和高可靠性的特点。使用 Docker 部署 RocketMQ 可以简化安装配置过程,提高部署效率和可移植性。### 准备工作1.

安装 Docker 和 Docker Compose:

确保你的机器上已经安装了 Docker 和 Docker Compose。 你可以参考官方文档进行安装:

[Docker 安装](https://docs.docker.com/get-docker/)

[Docker Compose 安装](https://docs.docker.com/compose/install/) 2.

获取 RocketMQ 镜像:

你可以选择从 Docker Hub 拉取官方镜像,或者自行构建镜像。

拉取官方镜像:

```bashdocker pull rocketmqinc/rocketmq:4.9.3```

自行构建镜像 (可选):

1. 下载 RocketMQ 源码: https://github.com/apache/rocketmq2. 进入源码目录,根据实际需求修改 Dockerfile3. 构建镜像:```bashdocker build -t rocketmq:latest .```### 部署步骤1.

创建 `docker-compose.yml` 文件:

```yamlversion: '3.7'services:namesrv:image: rocketmqinc/rocketmq:4.9.3container_name: rocketmq-namesrvports:- "9876:9876"environment:- "JAVA_OPT_EXT=-server -Xms128m -Xmx512m -Xmn256m"networks:- rocketmq-netbroker:image: rocketmqinc/rocketmq:4.9.3container_name: rocketmq-brokerports:- "10911:10911"- "10909:10909"depends_on:- namesrvenvironment:- "JAVA_OPT_EXT=-server -Xms128m -Xmx512m -Xmn256m"- "NAMESRV_ADDR=namesrv:9876"- "BROKER_IP=192.168.0.100" # 替换为你的主机IPvolumes:- ./data/broker:/opt/rocketmq-4.9.3/storenetworks:- rocketmq-netnetworks:rocketmq-net:driver: bridge```

说明:

`namesrv`: NameServer 服务

`ports`: 暴露 9876 端口,用于客户端连接

`environment`: 设置 JVM 参数

`broker`: Broker 服务

`ports`: 暴露 10911 (与生产者/消费者通信) 和 10909 (主从同步) 端口

`depends_on`: 依赖 NameServer 启动

`environment`:

设置 JVM 参数

`NAMESRV_ADDR`: 设置 NameServer 地址

`BROKER_IP`:

重要!

必须设置为

主机IP地址

,否则无法连接 Broker

`volumes`: 将 Broker 数据持久化到宿主机目录

`networks`: 定义 Docker 网络,用于服务间通信2.

启动 RocketMQ:

```bashdocker-compose up -d```3.

验证部署:

查看容器运行状态:```bashdocker ps```

使用 RocketMQ 客户端测试连接和发送消息### 高级配置 (可选)

集群部署:

修改 `docker-compose.yml` 文件,添加多个 Broker 节点,并配置主从同步。

持久化存储:

将 Broker 数据存储到外部存储服务,如 NFS 或 Ceph。

监控和日志:

集成 Prometheus 和 Grafana 等工具进行监控和日志管理。### 总结使用 Docker 部署 RocketMQ 可以快速搭建消息队列服务,并且方便进行扩展和管理。 你可以根据实际需求调整配置,构建高可用、高性能的消息队列平台。

Docker 部署 RocketMQ

简介RocketMQ 是一个开源的分布式消息和流数据平台,具有低延迟、高性能和高可靠性的特点。使用 Docker 部署 RocketMQ 可以简化安装配置过程,提高部署效率和可移植性。

准备工作1. **安装 Docker 和 Docker Compose:** 确保你的机器上已经安装了 Docker 和 Docker Compose。 你可以参考官方文档进行安装:* [Docker 安装](https://docs.docker.com/get-docker/)* [Docker Compose 安装](https://docs.docker.com/compose/install/) 2. **获取 RocketMQ 镜像:** 你可以选择从 Docker Hub 拉取官方镜像,或者自行构建镜像。* **拉取官方镜像:** ```bashdocker pull rocketmqinc/rocketmq:4.9.3```* **自行构建镜像 (可选):** 1. 下载 RocketMQ 源码: https://github.com/apache/rocketmq2. 进入源码目录,根据实际需求修改 Dockerfile3. 构建镜像:```bashdocker build -t rocketmq:latest .```

部署步骤1. **创建 `docker-compose.yml` 文件:**```yamlversion: '3.7'services:namesrv:image: rocketmqinc/rocketmq:4.9.3container_name: rocketmq-namesrvports:- "9876:9876"environment:- "JAVA_OPT_EXT=-server -Xms128m -Xmx512m -Xmn256m"networks:- rocketmq-netbroker:image: rocketmqinc/rocketmq:4.9.3container_name: rocketmq-brokerports:- "10911:10911"- "10909:10909"depends_on:- namesrvenvironment:- "JAVA_OPT_EXT=-server -Xms128m -Xmx512m -Xmn256m"- "NAMESRV_ADDR=namesrv:9876"- "BROKER_IP=192.168.0.100"

替换为你的主机IPvolumes:- ./data/broker:/opt/rocketmq-4.9.3/storenetworks:- rocketmq-netnetworks:rocketmq-net:driver: bridge```**说明:*** `namesrv`: NameServer 服务* `ports`: 暴露 9876 端口,用于客户端连接* `environment`: 设置 JVM 参数* `broker`: Broker 服务* `ports`: 暴露 10911 (与生产者/消费者通信) 和 10909 (主从同步) 端口* `depends_on`: 依赖 NameServer 启动* `environment`: * 设置 JVM 参数* `NAMESRV_ADDR`: 设置 NameServer 地址* `BROKER_IP`: **重要!** 必须设置为**主机IP地址**,否则无法连接 Broker* `volumes`: 将 Broker 数据持久化到宿主机目录* `networks`: 定义 Docker 网络,用于服务间通信2. **启动 RocketMQ:**```bashdocker-compose up -d```3. **验证部署:*** 查看容器运行状态:```bashdocker ps```* 使用 RocketMQ 客户端测试连接和发送消息

高级配置 (可选)* **集群部署:** 修改 `docker-compose.yml` 文件,添加多个 Broker 节点,并配置主从同步。 * **持久化存储:** 将 Broker 数据存储到外部存储服务,如 NFS 或 Ceph。 * **监控和日志:** 集成 Prometheus 和 Grafana 等工具进行监控和日志管理。

总结使用 Docker 部署 RocketMQ 可以快速搭建消息队列服务,并且方便进行扩展和管理。 你可以根据实际需求调整配置,构建高可用、高性能的消息队列平台。

Powered By Z-BlogPHP 1.7.2

备案号:蜀ICP备2023005218号