使用Docker部署EMQX

原文链接:http://www.ibearzmblog.com/#/technology/info?id=9dd5bf4159d07f6a4e69a6b379ce4244

前言

在物联网中,大多通信协议使用的都是MQTT,而EMQX是基于 Erlang/OTP 平台开发的 MQTT 消息服务器,它的优点很多,我这里就不一一讲解,今天我们先来学习下如何部署EMQX(我这里使用的开源版)。

这里上一下官方文档:https://www.emqx.io/docs/zh/v5.1/getting-started/getting-started.html#安装-emqx

部署

docker部署emqx很简单,首先需要创建挂载目录:

mkdir -p /opt/emqx/{etc,lib,data,log}

我们需要将容器内emqx的配置文件都要复制下来,所以先运行:

docker stop emqx
docker rm emqx
docker run -d \
--name emqx \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
docker.io/emqx/emqx

接着将整个文件夹复制下来:

[root@hadoop03 ~]# docker cp emqx:/opt/emqx ~

接下来修改启动脚本,添加挂载目录参数:

docker stop emqx
docker rm emqx
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 \
-v /root/emqx:/opt/emqx \
docker.io/emqx/emqx

查看容器是否启动成功:

[root@hadoop03 ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                                                                                                                                               NAMES
7d426f05dc85        docker.io/emqx/emqx   "/usr/bin/docker-e..."   3 seconds ago       Up 2 seconds        4370/tcp, 0.0.0.0:1883->1883/tcp, 0.0.0.0:8081->8081/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, 5369/tcp, 0.0.0.0:8883->8883/tcp, 0.0.0.0:18083->18083/tcp, 11883/tcp   emqx

可以看到,已经启动成功,接下来在浏览器输入http://你电脑IP:18083看看能否进入管理界面。
使用Docker部署EMQX_第1张图片
初始账号/密码为:admin/public

登入后
使用Docker部署EMQX_第2张图片

测试

接下来我们需要下载一个MQTT客户端来继续测试,我使用的是MQTTX,这是下载地址:https://mqttx.app/zh/downloads

管理界面提供了测试功能,我们接下来测试下MQTT的执行情况:

先创建主题
使用Docker部署EMQX_第3张图片

接下来在MQTTX测试:

使用Docker部署EMQX_第4张图片
使用Docker部署EMQX_第5张图片

可以看到,消息的发布和消费正常。

结尾

后面我会使用JAVA和Python来进行MQTT连接。

你可能感兴趣的:(物联网,docker,容器,物联网)