EMQX——docker安装及简单使用

EMQX——docker安装及简单使用

因为课设要用到MQTT服务器,索性自己搭一个吧,都说EMQX挺好用的。
后期会介绍课程设计中如何使用EMQX的。


EMQX是什么

先介绍一下EMQX是什么,可以简单理解为一个MQTT的服务器。
更重要的是看EMQ白皮书的内容摘要:

在这里插入图片描述



首先列出参考资料

Emqx官方教程

docker compose的学习

EMQX docker安装及运行

读者可以阅读完博客内容后按顺序参考以上链接的内容。


一、安装EMQX

1.安装docker

首先安装以下顺序依次运行指令(如果更新过慢请先换源)

sudo apt update
sudo apt upgrade

sudo apt install docker.io -y

安装完成后输入

docker -v
#查看docker的版本,出现如下类似字样则表示安装成功

在这里插入图片描述

2.安装EMQX4.4.4

先进入root用户,输入密码

su

使用docker pull指令安装emqx镜像

docker pull emqx/emqx:4.4.4

安装成功后,输入指令

docker images

出现红框字样,则表示镜像安装成功
在这里插入图片描述

二、启动EMQX

1.简单docker操作启动EMQX

启动 docker 容器,最后一个参数为IMAGE ID

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 68440db9c488

然后查看正在运行的容器,输入

docker ps -a

出现如下字样表示启动成功
在这里插入图片描述

2.配置、启动docker-compose集群

安装官方的下一步,我们需要配置简单的 static 集群,如果需要更详细的步骤介绍可以参照这个两个博客 docker-compose教程(安装,使用, 快速入门) || docker compose的学习 我在此不过多赘述
在这里插入图片描述
重点就是创建好docker-compose.yaml之后修改为以下内容

mqx@node1.emqx.io, emqx@node2.emqx.io"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node1.emqx.io

  emqx2:
    image: emqx/emqx:v4.0.0
    environment:
    - "EMQX_NAME=emqx"
    - "EMQX_HOST=node2.emqx.io"
    - "EMQX_CLUSTER__DISCOVERY=static"
    - "[email protected], [email protected]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node2.emqx.io

networks:
  emqx-bridge:
    driver: bridge

然后输入启动 docker-compose 集群

docker-compose -p my_emqx up -d

输入指令查看集群

docker exec -it my_emqx_emqx1_1 sh -c "emqx_ctl cluster status"

显示如下字样表示启动成功
在这里插入图片描述
接着输入指令查看正在运行的容器

docker ps -a

出现以下字样表示已经全部运行成功
在这里插入图片描述

三、登录EMQX web管理页面

ip处填写本机IP地址,可以ipconfig一下查看ip
在浏览器中输入以下链接

http://ip:18083  默认账号:admin 密码:public

出现如下界面就代表大功告成了!!
在这里插入图片描述
在这里插入图片描述


总结

本篇博客只是介绍以下如何docker启动EMQX。
笔者在其中跌跌撞撞历经坎坷,所以整理了以下学习过程分享给大家。
其中官方的安装和使用教程太过精炼,所以对于基础稍差的朋友们需要多参考网上的资料,特别关于如何理解集群概念需要好好花些功夫。

docker-compose教程(安装,使用, 快速入门)这篇博客中提到:
Docker Compose是一个用来定义和运行复杂应用的Docker工具
一个使用Docker容器的应用,通常由多个容器组成。
使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose教程(安装,使用, 快速入门)脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

所以看起来docker-compose是一个脚本,文件用来启动和管理容器,类似.sh文件,又有点makefile的感觉,嗯,这就是个人的一些理解了。

笔者刚入门,有什么理解不对的地方希望大家可以指正,欢迎在评论区一起讨论!

猜你喜欢

转载自blog.csdn.net/lzsm_/article/details/125307471