emqx5.3.0 centos7.9 docker挂载目录启动,权限问题

环境

centos7.9

  • EMQX 版本:5.3.0
  • 操作系统版本:
    centos

重现此问题的步骤

1、创建三个目录

/opt/emqx/data
/opt/emqx/etc
/opt/emqx/log

2、将 /opt/emqx/etc 目录下的文件复制到宿主机下:
docker run --rm emqx/emqx:5.3.0 sh -c ‘cd /opt/emqx && tar -c etc’ | tar -C $PWD -x

image

3、启动

docker run -d --name emqx \
  -p 1883:1883 -p 8083:8083 \
  -p 8084:8084 -p 8883:8883 \
  -p 18083:18083 \
  -v $PWD/etc:/opt/emqx/etc \
  -v $PWD/data:/opt/emqx/data \
  -v $PWD/log:/opt/emqx/log \
  emqx/emqx:5.3.0

日志结果:
image

手动创建data目录
sudo mkdir data
授权
sudo chmod -R 777 data

授权
sudo chmod -R 777 data
这种方式可以解决

您好。docker container中emqx服务的owner是emqx,这个user在您的VM上属于others,所以您需要将VM上/opt/emqx下所有目录的权限改为777。