docker安装RocketMQ

一、搜索 RocketMQ 镜像

docker search rocketmq

二、查看镜像的所有版本

curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags | tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'

我使用的时 4.7.0 这个版本,创建NameServer容器并启动,端口使用 RecketMQ 默认端口。

docker run -d -p 9876:9876 --name rmqserver  foxiswho/rocketmq:server-4.7.0

创建 broker 容器并启动,因为 Broker 有需要配置需要我们修改,所以在创建 broker 容器时,使用宿主机的配置文件,方便日后修改。

三、创建一个配置文件

vim usr/local/rocketmq/conf/broker.conf

四、在配置文件内加入以下内容

brokerIP1 = 192.168.1.128
listenPort = 10911
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

五、创建并启动 Broker

docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" -v /usr/local/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.7.0

最后再通过 docker 安装一下 RocketMQ 的可视化管理页面,当然这里也可以去把这部分代码 clone到本地,maven install 启动。个人认为使用docker更方便

docker run -d --name rmqconsole -p 8999:8080 --link rmqserver:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"  -t styletang/rocketmq-console-ng

六、查看容器状态

通过docket命令查看一下 三个容器的状态, 如果镜像太多 可以通过grep筛选一下,如果 status 这一列 有 Up 字样,说明容器启动成功。

docker ps -a | grep rocket

在这里插入图片描述

七、RocketMQ 的可视化管理页面

http://192.168.1.128:8999/

Docker是一种容器化平台,可以帮助开发者将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中进行部署和运行。而RocketMQ是一款开源的分布式消息中间件,具有高吞吐量、高可用性和可伸缩性的特点。 要在Docker安装RocketMQ,可以按照以下步骤进行操作: 1. 首先,确保你已经安装DockerDocker Compose。你可以在Docker官方网站上找到相应的安装指南。 2. 创建一个新的目录,用于存放RocketMQ的配置文件和数据。 3. 在该目录下创建一个名为`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 depends_on: - namesrv ``` 4. 保存并关闭`docker-compose.yml`文件。 5. 在终端中进入到该目录,并执行以下命令启动RocketMQ容器: ```bash docker-compose up -d ``` 6. 等待一段时间,RocketMQ容器将会启动并运行。你可以通过访问`http://localhost:8080`来访问RocketMQ的控制台。 至此,你已经成功在Docker安装RocketMQ。你可以使用RocketMQ的客户端工具或者编程语言的RocketMQ SDK来进行消息的发送和接收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值