目录
- 一、检索镜像
- 二、创建Broker Server
- 三、创建broker
- 四、创建rocketmq console
- 五、测试
- 六、java样例
- 七、其他
- 参考:
一、检索镜像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)}}'

文章插图
查看当前镜像所有的版本shell命令
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)}}'

文章插图
二、创建Broker Serverdocker run -d -p 9876:9876 --name rmqserverfoxiswho/rocketmq:server-4.5.1

文章插图
三、创建brokerdocker 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"\ foxiswho/rocketmq:broker-4.5.1

文章插图
配置broker.conf
进入rmqbroker容器
docker exec -it rmqbroker /bin/bashcd /etc/rocketmq/vi broker.conf

文章插图
四、创建rocketmq consoledocker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\ -Dcom.rocketmq.sendMessageWithVIPChannel=false"\ -t styletang/rocketmq-console-ng

文章插图
然后通过如下命令检查一下启动情况
docker ps|grep rocketmq

文章插图
http://192.168.23.131:8180/

文章插图
五、测试由于我在宿主机安装rocketmq,测试如下:
#测试消息发送命令sh tools.sh org.apache.rocketmq.example.quickstart.Producer

文章插图

文章插图
#测试消息接收命令sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

文章插图
六、java样例
import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendResult;import org.apache.rocketmq.common.message.Message;import org.apache.rocketmq.remoting.common.RemotingHelper;public class SyncProducer { public static void main(String[] args) throws Exception {// 实例化消息生产者Producer DefaultMQProducer producer = new DefaultMQProducer("zhuzeqing-1");// 设置NameServer的地址producer.setNamesrvAddr("192.168.23.131:9876");// 启动Producer实例 producer.start();for (int i = 0; i < 1; i++) {// 创建消息,并指定Topic,Tag和消息体Message msg = new Message("zhuzeqing-1-Topic" /* Topic */,"TagA" /* Tag */,("hello,rocketmq --" + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */);// 发送消息到一个BrokerSendResult sendResult = producer.send(msg);// 通过sendResult返回消息是否成功送达System.out.printf("%s%n", sendResult);}// 如果不再发送消息,关闭Producer实例 。producer.shutdown();}}消费消息
import java.util.List; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rocketmq.common.message.MessageExt; public class Consumer {public static void main(String[] args) throws InterruptedException, MQClientException {// 实例化消费者 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("zhuzeqing-1");// 设置NameServer的地址 consumer.setNamesrvAddr("192.168.23.131:9876");// 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 consumer.subscribe("zhuzeqing-1-Topic", "*");// 注册回调实现类来处理从broker拉取回来的消息 consumer.registerMessageListener(new MessageListenerConcurrently() {public ConsumeConcurrentlyStatus consumeMessage(List
七、其他查看rmqbroker IP
docker inspect rmqbroker

文章插图
Broker容器中默认的配置文件的路径为
/etc/rocketmq/broker.conf官网:Apache RocketMQ
参考:Docker中RocketMQ的安装与使用_冯立彬的博客-CSDN博客_docker rocketmq
到此这篇关于docker安装RocketMQ的实现步骤的文章就介绍到这了,更多相关docker安装RocketMQ内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
