(二)解决方案

发布时间:2025-06-24 18:17:45  作者:北方职教升学中心  阅读量:179


作为一种高性能和可扩展性 MQTT 新闻服务器󿀌可用于物联网(IoT)应用程序提供可靠的实时信息传输和设备连接解决方案。

  • (二)解决方案。

    大功告成以下页面!Docker部署EMQX。
    EMQX 不使用 root 应该有他的理由。

    到目前为止,完成了EMQX部署!
    但是在执行包含挂载目录的启动命令时会遇到问题。

    • (一)问题分析。
      • docker pull emqx/emqx:5.7.1。
      • 总结。

        #xff1目录预览a;

        • 一、在执行包含挂载目录的启动命令时,

        5.1.3 下面的目录需要挂载才能持久:

        /opt/emqx/data。
        • 我觉得这个方法很麻烦󿀌容器实际上依赖于环境。

          查阅了 Docker 与卷挂载相关的内容,发现匿名卷和具名卷可以与权限兼容。
          在这里插入图片描述

          在这里插入图片描述

          服务器ip:51083。

          首先介绍什么是EMQX,EMQX 它可以简单地理解为MQT服务器。docker volume inspect emqx_data1。
          默认账号:admin 默认密码:public。作者跌跌撞撞地经历了坎坷和#xff0c;所以我整理了一下踩坑的过程,

          注:因为服务器部署Rabitmq,1883端口占用,所以我在前面加了5个映射端口 。即使容器被删除,

        在这里插入图片描述

        -v 创建目录时默认使用 root 用户,这时候 emqx 在 root 下面的目录创建文件自然没有足够的权限。和大家分享。匿名卷的可读性不好,建议创建具名卷。
        在这里插入图片描述

        但是加上启动 -v ࿰挂载后c; 会报错:

        mkdir: cannot create directory ‘/opt/emqx/data/configs’: Permission denied。/opt/emqx/log。

      • (一)问题分析。

      (二)启动 Docker 容器(未挂载目录)

      • docker run -d --name emqx -p 51883:1883 -p 58083:8083 -p 58084:8084 -p 58883:8883 -p 51083:18083 emqx/emqx:5.7.1。
        • 前言。

        (三)启动 Docker 容器(#xff09;

        假如需要持久 Docker 容器 ,请将以下目录挂载到容器外部,这样,是一款「无限连接󿀌任意集成󰀌随处运行」大规模分布式物联网接入平台,同时,本博客只介绍了Docker如何启动EMQX。
        ):。

  • 三、访问EMQX web管理页面。即使容器被删除,

    ,这样,

    • ,如下图所示,
      • 1.创建一个著名的卷子。没有目录挂载。部署问题。
      • 3.查看具名卷。

    • 启动成功!!!

    在这里插入图片描述

    3.查看具名卷。

    • 1.创建具名卷。进入容器可以看到󿀌如下图所示,ls -l。

      数据卷挂载提示权不足解决。关于 EMQX 目录结构的详细信息,
      可参考 EMQX 介绍官方文件和目录。

      • https://docs.emqx.com/zh/emqx/latest/deploy/install.html#文件和目录。#xff1a;
      • 原因很简单󿀌EMQX 的镜像内 Linux 用户为 emqx,emqx࿰组c;并非 root 用户。你就可以跳过权限问题。

        到目前为止,EMQX部署!

        但是,

      输入以下链接到浏览器#xff08;
      51083映射18083,如果是阿里云服务器,需要到阿里云控制台打开端口。生产环境必须集群部署,后续docker-compose EMQX集群部署,会遇到问题。K8s EMQX集群部署也将与您分享!!!4.查看具名卷的细节。

    • 4.查看具名卷的细节。
    • (二)启动 Docker 容器(未#xff09;
    • (三)启动 Docker 容器(#xff09;

  • 二、
    官方教程。
  • (一)获取 Docker 镜像。
  • 在这里插入图片描述
    docker volume create emqx_data1。

    ,关键是如何解决这个问题。
    第一次登录后,会提示您修改密码。
  • 2.启动容器。: https://docs.emqx.com/zh/emqx/latest/deploy/install-docker-ce.html。

    (一)获取 Docker 镜像。数据也不会丢失。Docker部署EMQX。

    一个想法是宿主机也创建了 emqx 这个用户󿀌并保持用户 id 与容器内部一致,然后先创建要挂载的目录。

  • 一、

    在这里插入图片描述

    (二)解决方案。

    docker volume list。

    • 启动加上 -v emqx-data1:/opt/emqx/。

      • 2.部署问题。

        总结。访问EMQX web管理页面。

      启动容器并挂载目录:
      docker run -d --name emqx -p 51883:1883 -p 58083:8083 -p 58084:8084 -p 58883:8883 -p 51083:18083 -v /var/lib/emqx/data:/opt/emqx/data -v /var/lib/emqx/log:/opt/emqx/log emqx/emqx:5.7.1。

      • (三)启动 Docker 容器(#xff09;
      • 假如需要持久 Docker 容器 ,请将以下目录挂载到容器外部,这样,

        2.启动容器。数据也不会丢失

      /opt/emqx/data。

      • 三、#xff1a;

        docker exec -it emqx/emqx:5.7.1 /bin/bash。/opt/emqx/log。

        前言。

      • 按照 EMQX官方文档启动,默认情况下,

        /opt/emqx/etc。!!。

      在这里插入图片描述

      docker run -d --name emqx1 -p 51883:1883 -p 58083:8083 -p 58084:8084 -p 58883:8883 -p 51083:18083 -v emqx_data1:/opt/emqx/ emqx/emqx:5.7.1。