很多时候我们遇到启动一些容器,配置上挂载卷后,就报权限问题。
这里我给大家总结一下:
我们拿日志或者配置文件目录来说:
比如 : /opt/emqx/log日志目录被挂载出来了,但是我们会发现启动的时候会报该目录权限不足。
解决办法:
方法一
给logs目录777 权限(不推荐)
方法二
修改logs目录属主(推荐)
一般容器中的用户会映射到宿主机中 用户ID是 1001这个用户。为了保险我们可以自己实测:
操作:
我们先不做挂载存储卷:
启动服务,然后进入到容器中 查看文件的属主属组
查看容器在logs目录下创建的文件属主(比如看到是用户A)
docker exec -it emqx-4.2.3 /bin/bash
然后找到对应用户的emqx 的 用户id
我们知道了 1000:1000
返回我们宿主机:
直接 修改 目录:
chown 1000:1000 data -R
chown 1000:1000 etc -R
chown 1000:1000 logs -R
再次启动就可以了。
方法三
容器内部直接使用root账号(开发环境推荐)
操作:打开上边yml文件以下这行(去掉这行前边的#)
user: root
欢迎来撩 : 汇总all