Logo 归档

解决mkdir: cannot create directory ‘/opt/emqx/data/configs’: Permission denied

原因很简单,EMQX 的镜像内 Linux 用户为 emqx,组为emqx,并非 root 用户。

-v 创建目录时候默认用的一般是 root 用户,这时候 emqx 在 root 下的目录创建文件自然就权限不足。

 

(二)解决方案
查阅了 Docker 的卷挂载相关的内容,发现匿名卷和具名卷可以兼容权限问题。匿名卷可读性不太好,建议创建具名卷。

1.创建一个具名卷
docker volume create emqx_data1

 

2.启动容器
启动加上 -v emqx-data1:/opt/emqx/

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