(二)解决方案
发布时间: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。
):。
,这样,,如下图所示,
- 1.创建一个著名的卷子。没有目录挂载。部署问题。
- 3.查看具名卷。
,如下图所示,
- 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;
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.查看具名卷的细节。
官方教程。
docker volume create emqx_data1。
,关键是如何解决这个问题。
第一次登录后,会提示您修改密码。
(一)获取 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。!!。