Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes“, 报错解决
报错解决
·
前言
最近在学习elasticsearch时
在购买的阿里云linux服务器进行docker安装
运行时报错
解决方案
我这里是把
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
宿主机的/mydata/elasticsearch/config/elasticsearch.yml目录
挂载到容器的/usr/share/elasticsearch/config/elasticsearch.yml目录
相当于使用宿主机的配置文件 启动 elasticsearch
然后 docker ps 发现并未启动成功
docker logs 发现报错
Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
原因是我们宿主机的目录权限没设置好
容器没有访问我们宿主机目录的权限
将我们本机这个目录下的所有权限赋给所有用户
让其容器能够访问到
777表示什么
因为文件的权限分为3种用户,分别为u(文件所有者)、g(文件的组用户)、o(其他用户),所以777表示u、g、o都是777的权限
chmod 777 test.txt:表示将test.txt文件的读、写、执行权限赋权给所有的用户
chmod 777 /usr/share/elasticsearch
接着重新docker start xx
docker ps
发现启动成功
更多推荐
已为社区贡献6条内容
所有评论(0)