用docker方式 安装rabbitmq 并配置MQTT

简介: 用docker方式 安装rabbitmq 并配置MQTT
docker search rabbitmq
docker pull rabbitmq:3.8.1-management

安装带管理端的docker容器

docker run -d --hostname rabbitmq --name rabbitmq -v /home/mydata/rabbitmq/data:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.8.1-management

上面只是把数据文件放在外面,不做任何操作是可以正常的

建/home/mydata/rabbitmq 下面data,conf,log对应数据,配置与日志

useradd rabbitmq
chown rabbitmq:rabbitmq -R rabbitmq/ 把下面目录都变成rabbitmq用户
docker run -d --hostname rabbitmq --name rabbitmq -v /home/mydata/rabbitmq/data:/var/lib/rabbitmq -v /home/mydata/rabbitmq/conf:/etc/rabbitmq/ -v /home/mydata/rabbitmq/log:/var/log/rabbitmq/ -p 15672:15672 -p 5672:5672 -p 1883:1883 -p 15675:15675 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.8.1-management

上面开始有问题,老说是config文件没有权限

[root@zxg mydata]# docker logs rabbitmq
touch: cannot touch '/etc/rabbitmq/rabbitmq.conf': Permission denied
docker cp -a rabbitmq:/etc/rabbitmq .

并用mv方式移动合适目录下

把配置文件拷贝到宿主就可以了,没有报错,正常了

  • 15672 是rabbitmq management管理界面默认访问端口
  • 5672 是amqp默认端口
  • 1883 是mqtt tcp协议默认端口
  • 15675 是web_mqtt ws协议默认端口
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_web_mqtt

也可以人工启动这些插件

配置防火墙

firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=1883/tcp --permanent
firewall-cmd --add-port=15675/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

http://192.168.33.112:15672/ 进入rabbitmq管理页面,初始用户guest密码是guest

用MQTT.fx可以测试MQTT

支持windows/linux/mac,请选择对应的版本进行安装,本例以Windows10为例,版本为1.7.1 。

下载地址: Index of /apps/mqttfx

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9天前
|
消息中间件 网络安全 RocketMQ
消息队列 MQ产品使用合集之配置controller时,出现无法选举master,该怎么解决
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
23天前
|
消息中间件 Java RocketMQ
RocketMQ实战教程之RocketMQ安装
这是一篇关于RocketMQ安装的实战教程,主要介绍了在CentOS系统上使用传统安装和Docker两种方式安装RocketMQ。首先,系统需要是64位,并且已经安装了JDK 1.8。传统安装包括下载安装包,解压并启动NameServer和Broker。Docker安装则涉及安装docker和docker-compose,然后通过docker-compose.yaml文件配置并启动服务。教程还提供了启动命令和解决问题的提示。
|
5天前
|
消息中间件 存储 数据安全/隐私保护
docker部署rabbitmq
docker部署rabbitmq
7 0
|
6天前
|
消息中间件 存储 Java
RocketMQ下载安装、集群搭建保姆级教程
RocketMQ下载安装、集群搭建保姆级教程
22 0
|
8天前
|
消息中间件 设计模式 网络安全
消息队列 MQ操作报错合集之broker启用controller配置时,遇到报错,是什么导致的
在使用消息队列MQ时,可能会遇到各种报错情况。以下是一些常见的错误场景、可能的原因以及解决建议的汇总:1.连接错误、2.消息发送失败、3.消息消费报错、4.消息重试与死信处理、5.资源与权限问题、6.配置错误、7.系统资源限制、8.版本兼容性问题。
|
9天前
|
消息中间件 Serverless Windows
消息队列 MQ产品使用合集之MQTT协议是否可以应用于社交软件的系统通知场景
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
9天前
|
消息中间件 网络性能优化
消息队列 MQ产品使用合集之通过MQTT控制台查询不到设备轨迹或消息轨迹是什么原因
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
13天前
|
关系型数据库 应用服务中间件 nginx
docker基础,docker安装mysql,docker安装Nginx,docker安装mq,docker基础命令
docker基础,docker安装mysql,docker安装Nginx,docker安装mq,docker基础命令
|
消息中间件 Docker 容器
RabbitMQ01_消息队列概述、使用场景、劣势、架构图与主要概念、Docker快速安装Rabbitmq、角色分类(四)
RabbitMQ01_消息队列概述、使用场景、劣势、架构图与主要概念、Docker快速安装Rabbitmq、角色分类(四)
145 0
|
消息中间件 存储 网络协议
RabbitMQ01_消息队列概述、使用场景、劣势、架构图与主要概念、Docker快速安装Rabbitmq、角色分类(二)
RabbitMQ01_消息队列概述、使用场景、劣势、架构图与主要概念、Docker快速安装Rabbitmq、角色分类(二)
208 0
RabbitMQ01_消息队列概述、使用场景、劣势、架构图与主要概念、Docker快速安装Rabbitmq、角色分类(二)