iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >Docker MQTT怎么安装使用
  • 856
分享到

Docker MQTT怎么安装使用

2024-04-02 19:04:59 856人浏览 薄情痞子
摘要

这篇“Docker MQTT怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Do

这篇“Docker MQTT怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker MQtT怎么安装使用”文章吧。

mqtt简介

mqtt(message queuing telemetry transport,消息队列遥测传输)是ibm开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过twitter让房屋联网)的通信协议。

docker安装rabbitmq配置mqtt

使用RabbitMQ作为mqtt服务端,eclipse paho作为客户端。宿主机系统为ubuntu16.04

docker下载镜像

docker pull daocloud.io/library/rabbitmq:3.7.4

启动rabbitmq

docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 -p 5672:5672 -p 1883:1883 -p 15675:15675 daocloud.io/library/rabbitmq:3.7.4

注意映射容器端口

  • 15672 是rabbitmq management管理界面默认访问端口

  • 5672 是amqp默认端口

  • 1883 是mqtt tcp协议默认端口

  • 15675 是WEB_mqtt websocket协议默认端口

启用插件

默认安装后我们需要手动开启rabbitmq_management插件,rabbitmq_mqtt插件和rabbitmq_web_mqtt插件。

执行如下三条命令

docker exec <容器id> rabbitmq-plugins enable rabbitmq_management
docker exec <容器id> rabbitmq-plugins enable rabbitmq_mqtt
docker exec <容器id> rabbitmq-plugins enable rabbitmq_web_mqtt

当然你也可以写个脚本start.sh,复制到容器中

/usr/sbin/rabbitmq-plugins enable rabbitmq_management
/usr/sbin/rabbitmq-plugins enable rabbitmq_mqtt
/usr/sbin/rabbitmq-plugins enable rabbitmq_web_mqtt

进入容器执行这个脚本。

sh start.sh

开放宿主机端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=1883/tcp --permanent
firewall-cmd --zone=public --add-port=15675/tcp --permanent
firewall-cmd --reload

python mqtt客户端实现

安装python

pip install paho-mqtt

发送数据demo(消费者)

# 使用前需要启动HBase和thrift服务器
# 启动hbase在cd /usr/local/hbase下bin/start-hbase.sh  默认端口为 60000
# 启动thrift服务器cd /usr/local/hbase/bin执行./hbase-daemon.sh start thrift  默认端口为9090
import sys
import os
dir_common = os.path.split(os.path.realpath(__file__))[0] + '/../'
sys.path.append(dir_common)  # 将根目录添加到系统目录,才能正常引用common文件夹
import argparse  #
import logging
import time,datetime
from common.py_log import init_logger,init_console_logger
from common.config import *
from common.py_hbase import pyhbase
import time,JSON
from common.py_rabbit import rabbit_consumer
import paho.mqtt.client as mqtt
import time
host = "192.168.2.46"
port = 1883
def client_loop():
  client_id = time.strftime('%y%m%d%h%m%s',time.localtime(time.time()))
  client = mqtt.client(client_id)  # clientid不能重复,所以使用当前时间
  client.username_pw_set("guest", "guest") # 必须设置,否则会返回「connected with result code 4」
  client.on_connect = on_connect
  client.on_message = on_message
  client.connect(host, port, 60)
  client.loop_forever()
def on_connect(client, userdata, flags, rc):
  print("connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_loop()

接收数据demo(生产者)

import sys
import os
dir_common = os.path.split(os.path.realpath(__file__))[0] + '/../'
sys.path.append(dir_common)  # 将根目录添加到系统目录,才能正常引用common文件夹
import paho.mqtt.client as mqtt
import time
host = "192.168.2.46"
port = 1883
def client_loop():
  client_id = time.strftime('%y%m%d%h%m%s',time.localtime(time.time()))
  client = mqtt.client(client_id)  # clientid不能重复,所以使用当前时间
  client.username_pw_set("guest", "guest") # 必须设置,否则会返回「connected with result code 4」
  client.on_connect = on_connect
  client.on_message = on_message
  client.connect(host, port, 60)
  client.loop_forever()
def on_connect(client, userdata, flags, rc):
  print("connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_loop()

生产者demo

# import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
import time
host = "192.168.2.46"
port = 1883
def on_connect(client, userdata, flags, rc):
  print("connected with result code "+str(rc))
  client.subscribe("test")
def on_message(client, userdata, msg):
  print(msg.topic+" "+msg.payload.decode("utf-8"))
if __name__ == '__main__':
  client_id = time.strftime('%y%m%d%h%m%s',time.localtime(time.time()))
  # client = mqtt.client(client_id)  # clientid不能重复,所以使用当前时间
  # client.username_pw_set("guest", "guest") # 必须设置,否则会返回「connected with result code 4」
  # client.on_connect = on_connect
  # client.on_message = on_message
  # client.connect(host, port, 60)
  # client.publish("test", "你好 mqtt", qos=0, retain=false) # 发布消息
  publish.single("test", "你好 mqtt", qos = 1,hostname=host,port=port, client_id=client

以上就是关于“Docker MQTT怎么安装使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网VUE频道。

--结束END--

本文标题: Docker MQTT怎么安装使用

本文链接: https://www.lsjlt.com/news/96296.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker MQTT怎么安装使用
    这篇“Docker MQTT怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Do...
    99+
    2024-04-02
  • Docker Compose怎么安装和使用
    这篇文章主要介绍了Docker Compose怎么安装和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker Compose怎么安装和使用文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-07-06
  • Linux虚拟机上怎么安装docker并使用docker安装mysql
    Linux虚拟机上怎么安装docker并使用docker安装mysql,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。序言现在在Linux虚拟机上安装程序,越来越多的人都使用do...
    99+
    2023-06-05
  • Linux中Docker安装后怎么使用Docker容器
    本篇内容介绍了“Linux中Docker安装后怎么使用Docker容器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.启动一个Dock...
    99+
    2023-06-13
  • linux下怎么使用docker安装minio
    这篇文章主要介绍“linux下怎么使用docker安装minio”,在日常操作中,相信很多人在linux下怎么使用docker安装minio问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下怎么使用d...
    99+
    2023-07-05
  • 怎么安装和使用mysql的docker
    这篇文章主要介绍“怎么安装和使用mysql的docker”,在日常操作中,相信很多人在怎么安装和使用mysql的docker问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装和使用mysql的docker...
    99+
    2023-06-04
  • Mac中怎么使用Homebrew安装Docker
    这篇文章主要介绍“Mac中怎么使用Homebrew安装Docker”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Mac中怎么使用Homebrew安装Docker”文章能帮助大家解决问题。使用 Hom...
    99+
    2023-06-27
  • Linux上怎么安装和使用Docker
    这篇文章主要为大家分析了Linux上怎么安装和使用Docker的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux上怎么安装和使用Docker”的知识吧...
    99+
    2023-06-28
  • 在Ubuntu14.04中怎么安装和使用Docker
    本篇内容主要讲解“在Ubuntu14.04中怎么安装和使用Docker”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Ubuntu14.04中怎么安装和使用Do...
    99+
    2024-04-02
  • 怎么在Linux上安装和使用Docker
    这篇文章主要讲解了“怎么在Linux上安装和使用Docker”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上安装和使用Docker”吧!安装由于 Ubuntu Server ...
    99+
    2023-06-16
  • Centos下怎么安装和使用Docker CE
    本篇内容主要讲解“Centos下怎么安装和使用Docker CE”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Centos下怎么安装和使用Docker CE”吧!前提条件目前,CentOS 仅发...
    99+
    2023-06-28
  • Docker怎么安装Kong API Gateway并使用
    本篇内容主要讲解“Docker怎么安装Kong API Gateway并使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker怎么安装Kong API Gateway并使用”吧!1 简介...
    99+
    2023-06-20
  • DOCKER怎么安装
    小编给大家分享一下DOCKER怎么安装,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!centos 7.x 安装docker Docker RPM包已经包含在centos-Extra仓库中,所以我们可以直接使用yum安装:&...
    99+
    2023-06-04
  • 怎么使用Docker安装phabricator并配置和使用
    这篇文章主要介绍“怎么使用Docker安装phabricator并配置和使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Docker安装phabricat...
    99+
    2024-04-02
  • CentOS7 使用Docker 安装MySQL
    CentOS7 使用Docker 安装MySQL Docker的相关知识本篇不会再概述,有疑惑的同学请自行查找相关知识。本篇只是介绍如何在CentOS7下使用Docker安装相应的镜像。 可登陆Doc...
    99+
    2023-09-08
    docker mysql 运维
  • 怎么使用docker安装elasticsearch和head插件
    本文小编为大家详细介绍“怎么使用docker安装elasticsearch和head插件”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用docker安装elasticsearch和head插件”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-06-30
  • NAS非Docker怎么安装使用qBittorrent玩PT
    小编给大家分享一下NAS非Docker怎么安装使用qBittorrent玩PT,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!想要在NAS上安装使用qBittorr...
    99+
    2023-06-04
  • docker怎么安装mysql
    这篇“docker怎么安装mysql”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker怎么安装mysql”文章吧。1...
    99+
    2023-06-29
  • ubuntu怎么安装docker
    本篇内容介绍了“ubuntu怎么安装docker”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!零:卸载旧版本docker 的旧版本被称为 d...
    99+
    2023-07-04
  • Docker怎么安装MySQL8
    这篇文章主要讲解了“Docker怎么安装MySQL8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么安装MySQL8”吧!一、下载镜像dock...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作