docker安装部署MQTT

前言

由于业务的需求,需要使用到MQTT,由于之前只是使用,并未自己搭建过,所以就写下来记录一下。

环境配置

1、获取镜像

# 拉取的是最新版本
docker pull emqx/emqx:latest
# 当然可以指定版本
docker pull emqx/emqx:latest:v5.0

2、创建临时容器

docker run -d --name emqx --privileged=true -p 1883:1883 -p 8883:8883 -p 8083:8083 -p 8084:8084 -p 8081:8081 -p 18083:18083  emqx/emqx:latest

参数 --privileged=true 表示赋予容器特权,用于需要与主机系统交互的操作。
参数 -p 指定了端口映射,将容器内的端口映射到主机上,以便可以从外部访问 EMQ X 服务。
参数 emqx/emqx:latest 表示使用 emqx/emqx 仓库中最新版本的镜像运行容器

3、创建挂载目录

只要是为了容器内外共享数据或持久化存储容器内的数据。通过挂载文件目录,可以将主机系统上的文件或目录与容器内部的文件系统进行关联,使得容器内的操作可以直接影响主机系统上的文件,也可以使主机系统上的文件在容器内保持持久化,即使容器被删除或重建,数据仍然保留。这样做可以方便地进行数据备份、共享和管理

mkdir -p /home/jaxf/emqx/etc /home/jaxf/emqx/lib /home/jaxf/emqx/data /home/jaxf/emqx/log

这个指令需要注意,如果你是在根目录进行输入,一定要包含全部的路径名称。
如果已经在你想要指定创建的文件夹里面,只需要指定要创建的文件夹名称即可。

4、从临时容器内复制配置文件到挂载目录下

docker cp emqx:/opt/emqx/etc /home/jaxf/emqx

5、强制删除临时容器

docker rm -f emqx

6、运行并挂载文件代码

docker run -d \
--restart=always \
--name emqx \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
-v /home/app/emqx/etc:/opt/emqx/etc \
emqx/emqx:latest


1883: MQTT 协议的默认端口,用于 MQTT 客户端与 EMQ X 服务进行通信。
8883: MQTT 协议的安全端口,使用 SSL/TLS 加密通信。
8083: WebSocket over MQTT 协议的端口,用于支持通过 WebSocket 进行 MQTT 通信。
8084: WebSocket over MQTT 协议的安全端口,使用 SSL/TLS 加密通信。
8081: HTTP API 的端口,用于管理和监控 EMQ X 服务。
18083: WebSocket over HTTP 协议的管理界面端口,用于通过 Web 界面管理和监控 EMQ X 服务
(下面使用的时候需要注意端口号)

7、登录EMQX内置的管理控制台
在这里插入图片描述
账户:admin
密码:public
8、开启客户端的验证
在这里插入图片描述
如果你有自己的数据源的话,可以进行选择,没有的话,仅是测试是否可以使用,直接一直下一步
在这里插入图片描述
之后配置下用户名称与密码
添加用户账户与密码
此外,要是你使用mqtt进行传递图文的话,需要设置报文的大小,好像是最大256M,具体如下:
报文设置之后再问题分析这一状态栏上,可以进行测试连接
测试
结果
进行简单的测试下,可以发现自己部署的服务没有问题,正常运行。

8、客户端进行连接测试

客户端连接的端口号与网页端的有区别:
客户端:1883,网页端:8083  一定注意区分

客户端配置
9、消息的接收与主题的订阅
主题订阅
至此,大致完成,接下来就是你自己的业务啦!!!

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值