官方的要求的docker安装emqx,配置了数据卷之后 docker无法启动

感谢各位的使用反馈。有些用户体验确实不太友好的地方,我们持续改进!

软件功能上暂时无需修改的。意思是现在就可以直接把 etc/emqx.conf 挂载进去用就行了。
而且,5.0 大部分功能都推荐使用 Dashboard 进行配置。

如果需要启动时就包含所有已经配置好的功能。暂时的办法是

  1. 先启动一个 emqx,并配置好所有的功能
  2. 找到 data/configs 目录下的 cluster.hocon 文件
  3. 把该文件的内容全部追加到你外部的 emqx.conf 的末尾。
  4. 然后使用把新的 emqx.conf 挂载到以后你需要启动的 emqx 服务中。

这样应该是能解决现在遇到的问题 的

我每次都是编排好docker-compose后先注释掉volumes配置部分。然后启动了通过docker cp的方式把启动的容器文件拷贝到volumes指定的目录。然后移除注释部分,再次docker-compose up -d。搞定。
官方的持久化这部分写的确实对用户不太友好。

感谢反馈,已经推给负责文档的团队让他们安排简化了

cc @wivwiv

我这样处理的,我解决了权限问题
image
添加这两个命令
user: root
privileged: true

1 个赞

我这样处理的,我解决了权限问题
image
添加这两个命令
user: root
privileged: true。我这样解决了 你们可以测试一下

这是干嘛

解决方法:
1.docker run -d emqx:5.1.6
2.docker cp emqx:/opt/emqx/etc /data/emqx/etc
3.docker cp emqx:/opt/emqx/etc /data/emqx/data
4.docker cp emqx:/opt/emqx/etc /data/emqx/log
5.docker rm -f emqx
6.docker run -d -v ./emqx/data:/opt/emqx/data -v ./emqx/etc:/opt/emqx/etc -v ./emqx/log:/opt/emqx/log emqx:5.1.6

我觉得就是权限问题。
你的数据卷建映射到你个人目录了,目录的权限不是emqx,但是docker安装文档说内部不是root运行,所以初始化应该没有权限初始化你映射的目录。这才导致的问题。

你试试给你映射的目录,改成777的权限试试,如果这样能通过了,那就是权限的问题。

以后可以用:https://docker.emqx.dev/ 来快速生成docker-compose.yml

【Docker 快速安装和运行 EMQX MQTT 服务器 (含常见问题解决)-哔哩哔哩】 Docker 快速安装和运行 EMQX MQTT 服务器 (含常见问题解决)_哔哩哔哩_bilibili