轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
hivemq/hivemq4
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

hivemq4 Docker 镜像下载 - 轩辕镜像

hivemq4 镜像详细信息和使用指南

hivemq4 镜像标签列表和版本信息

hivemq4 镜像拉取命令和加速下载

hivemq4 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

hivemq4
hivemq/hivemq4

hivemq4 镜像详细信息

hivemq4 镜像标签列表

hivemq4 镜像使用说明

hivemq4 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于MQTT的企业级消息平台,具备快速、高效、安全和可靠的特性,专为物联网设备间的数据传输设计,支持MQTT 3.1、3.1.1和5.0协议。
31 收藏0 次下载activehivemq镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

hivemq4 镜像详细说明

hivemq4 使用指南

hivemq4 配置说明

hivemq4 官方文档

快速参考

  • 获取帮助: 联系我们

  • 提交问题: GitHub 问题跟踪器

  • 维护者: HiveMQ

  • Dockerfiles: GitHub

HiveMQ 是什么?

HiveMQ 是一个基于 MQTT 的消息平台,专为物联网设备间快速、高效、可靠的数据传输而设计。它使用 MQTT 协议实现设备与企业系统之间的即时双向数据推送。
HiveMQ 旨在解决组织构建新型物联网应用时面临的关键技术挑战,包括:

  • 构建可靠且可扩展的业务关键型物联网应用
  • 实现快速数据传输,满足终端用户对响应式物联网产品的期望
  • 通过高效利用硬件、网络和云资源降低运营成本
  • 将物联网数据集成到现有企业系统中

HiveMQ 核心是兼容 MQTT 3.1、MQTT 3.1.1 和 MQTT 5.0 的 MQTT broker,其优势在于为企业用例和专业部署设计的附加功能。

有关更多信息,请参见功能。

标签

标签含义
latest始终指向 HiveMQ 基础镜像的最新版本
dns-latest始终指向 HiveMQ DNS 发现镜像的最新版本
<version>提供指定版本 broker 的基础镜像(例如 4.0.0)
dns-<version>基于指定版本基础镜像的 DNS 发现镜像
k8s-<version>用于 Kubernetes Operator 的镜像

基本单实例部署

要启动单个 HiveMQ 实例并开放 MQTT 端口及控制中心访问,请获取 Docker 并运行以下命令:

docker run --ulimit nofile=500000:500000 -p 8080:8080 -p 8000:8000 -p 1883:1883 hivemq/hivemq4

您可以通过 MQTT(1883 端口)、WebSocket(8000 端口)连接 broker,或通过 8080 端口访问控制中心。

集群部署

对于 HiveMQ 集群部署,建议使用 DNS 发现镜像。该镜像内置 HiveMQ DNS 发现扩展,可与任何支持通过轮询 A 记录进行服务发现的容器编排引擎配合使用。也可使用提供 A 记录的自定义解决方案。

以下环境变量可分别用于自定义发现和 broker 配置:

环境变量默认值含义
HIVEMQ_DNS_DISCOVERY_ADDRESS-用于集群发现的 A 记录获取地址
HIVEMQ_DNS_DISCOVERY_INTERVAL31搜索新节点的时间间隔(秒)
HIVEMQ_DNS_DISCOVERY_TIMEOUT30DNS 解析超时时间(秒)
HIVEMQ_CLUSTER_PORT8000集群传输使用的端口
HIVEMQ_BIND_ADDRESS-集群传输绑定地址,仅在默认策略(解析主机名)失败时需要设置
HIVEMQ_CLUSTER_TRANSPORT_TYPEUDP集群传输协议类型
HIVEMQ_LICENSE-broker 使用的 base64 编码许可证文件
HIVEMQ_CONTROL_CENTER_USERadminHiveMQ 控制中心登录用户名
HIVEMQ_CONTROL_CENTER_PASSWORDadminhivemq 的 SHA256 哈希HiveMQ 控制中心认证密码哈希
HIVEMQ_HIVEMQ_NO_ROOT_STEP_DOWN-设置为 true 可禁用启动时的 root 权限降级,详见 HiveMQ 基础镜像
HIVEMQ_ALLOW_ALL_CLIENTStrue是否启用默认内置的 allow-all 扩展(4.3.0 及以上版本),设为 false 会在启动时删除该扩展(4.3.0 之前版本无效)
HIVEMQ_LOG_LEVELINFO根日志级别(4.3.1 及以上版本可用)

以下是在 Docker Swarm 和 Kubernetes 中使用该镜像的示例,其他支持 DNS 发现的环境也兼容。

Docker Swarm 本地集群

要在本地运行 HiveMQ 集群,可使用 Docker Swarm(注意:不建议在生产环境使用 Docker Swarm):

  • 运行以下命令启动单节点 Swarm 集群:
docker swarm init
  • 创建集群节点通信的覆盖网络:
docker network create -d overlay --attachable myNetwork
  • 在网络上创建 HiveMQ 服务:
docker service create \
  --replicas 3 --network myNetwork \
  --env HIVEMQ_DNS_DISCOVERY_ADDRESS=tasks.hivemq \
  --publish target=1883,published=1883 \
  --publish target=8080,published=8080 \
  -p 8000:8000/udp \
  --name hivemq \
    hivemq/hivemq4:dns-latest

此命令将部署 3 节点集群,并将 MQTT(1883)和 HiveMQ 控制中心(8080)端口转发到主机网络。MQTT 客户端可通过 1883 端口连接,连接将转发到任意集群节点。

有关集群管理的更多信息,请参见 管理集群。

Kubernetes 生产部署

注意:建议使用 Kubernetes Operator,它能简化 HiveMQ 在 Kubernetes 上的部署。

生产环境中,建议将 DNS 发现镜像与 Kubernetes 结合使用。Kubernetes 中需配置适当的部署以利用 DNS 发现,无头服务 可提供用于发现的 broker DNS 记录。

以下是使用 DNS 发现的 3 节点 HiveMQ 集群的复制控制器配置示例。需根据 Kubernetes 命名空间和配置的域替换 HIVEMQ_DNS_DISCOVERY_ADDRESS:

apiVersion: v1
kind: ReplicationController
metadata:
  name: hivemq-replica
spec:
  replicas: 3
  selector:
    app: hivemq-cluster1
  template:
    metadata:
      name: hivemq-cluster1
      labels:
        app: hivemq-cluster1
    spec:
      containers:
      - name: hivemq-pods
        image: hivemq/hivemq4:dns-latest
        ports:
        - containerPort: 8080
          protocol: TCP
          name: hivemq-control-center
        - containerPort: 1883
          protocol: TCP
          name: mqtt
        env:
        - name: HIVEMQ_DNS_DISCOVERY_ADDRESS
          value: "hivemq-discovery.default.svc.cluster.local."
        - name: HIVEMQ_DNS_DISCOVERY_TIMEOUT
          value: "20"
        - name: HIVEMQ_DNS_DISCOVERY_INTERVAL
          value: "21"
        - name: HIVEMQ_CLUSTER_TRANSPORT_TYPE
          value: "TCP"
        readinessProbe:
          tcpSocket:
            port: 1883
          initialDelaySeconds: 30
          periodSeconds: 60
          failureThreshold: 60
        livenessProbe:
          tcpSocket:
            port: 1883
          initialDelaySeconds: 30
          periodSeconds: 60
          failureThreshold: 60
---
kind: Service
apiVersion: v1
metadata:
  name: hivemq-discovery
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
  selector:
    app: hivemq-cluster1
  ports:
    - protocol: TCP
      port: 1883
      targetPort: 1883
  clusterIP: None

访问 HiveMQ 控制中心

要访问 Kubernetes 集群中的 HiveMQ 控制中心,请执行以下步骤:

  • 创建暴露控制中心的服务,使用以下 YAML 定义(保存为 web.yaml):
kind: Service
apiVersion: v1
metadata:
  name: hivemq-control-center
spec:
  selector:
    app: hivemq-cluster1
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
  sessionAffinity: ClientIP
  type: Load***
  • 运行 kubectl create -f web.yaml 创建服务。

注意: 根据 Kubernetes 环境提供商,负载均衡器可能不可用或需要额外配置才能访问控制中心。

使用外部客户端访问 MQTT 端口

要允许外部客户端访问 Kubernetes 集群的 MQTT 端口,请执行以下步骤:

  • 创建使用负载均衡器暴露 MQTT 端口的服务,使用以下 YAML 定义(保存为 mqtt.yaml):
kind: Service
apiVersion: v1
metadata:
  name: hivemq-mqtt
  annotations:
    service.spec.externalTrafficPolicy: Local
spec:
  selector:
    app: hivemq-cluster1
  ports:
    - protocol: TCP
      port: 1883
      targetPort: 1883
  type: Load***
  • 运行 kubectl create -f mqtt.yaml 创建服务。

注意: externalTrafficPolicy 注解用于允许 Kubernetes 服务维持大量并发连接,详见 服务源 IP。

配置

设置 HiveMQ 控制中心用户名和密码

环境变量 HIVEMQ_CONTROL_CENTER_PASSWORD 允许通过定义自定义密码的 SHA256 哈希来设置控制中心密码。环境变量 HIVEMQ_CONTROL_CENTER_USER 可配置用户名。

有关如何生成密码哈希的更多信息,请参见 生成 SHA256 密码。

添加许可证

要在 HiveMQ 容器中使用许可证,需先将许可证文件编码为字符串。运行 cat license.lic | base64(将 license.lic 替换为许可证文件路径),然后将结果字符串设置为容器的 HIVEMQ_LICENSE 环境变量值。

禁用 hivemq-allow-all-extension

默认情况下,HiveMQ 镜像使用内置的 hivemq-allow-all-extension。设置环境变量 HIVEMQ_ALLOW_ALL_CLIENTS 为 false 可在启动时删除该扩展。

禁用权限降级

默认情况下,HiveMQ 镜像在启动时检查 root 权限,若存在则切换到低权限用户以增强容器安全性。设置环境变量 HIVEMQ_NO_ROOT_STEP_DOWN 为 false 可跳过此步骤。

覆盖集群绑定地址

默认情况下,HiveMQ DNS 发现镜像尝试使用容器的 ${HOSTNAME} 设置绑定地址,以确保 HiveMQ 将集群连接绑定到正确接口。设置 HIVEMQ_BIND_ADDRESS 环境变量可覆盖此行为,broker 将使用指定值作为绑定地址。

设置集群传输类型

默认情况下,HiveMQ DNS 发现镜像使用 UDP 作为集群传输协议。设置 HIVEMQ_CLUSTER_TRANSPORT_TYPE 环境变量为 TCP 可改用 TCP。

注意: 建议使用 TCP 作为集群传输协议,可降低高网络负载下网络分区的风险。

构建自定义 Docker 镜像

有关构建自定义 HiveMQ 镜像的更多信息,请参见 文档。

查看更多 hivemq4 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.