Docker-compose安装Elasticsearch启动报错(挂载volume后)

错误提示:

"stacktrace": ["org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];"

image

docker-compose.yaml

docker-compose.yaml
version: '3.9'
services:
  elasticsearch:
    restart: always
    container_name: elasticsearch
    hostname: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.18
    environment:
      - "TZ=Asia/Shanghai"
      - discovery.type=single-node
    ports:
      - 9200:9200
    volumes:
      - /data/elk/elasticsearch:/usr/share/elasticsearch/data
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536

排查过程

开始还提示docker-entrypoint.sh: line 49: /usr/share/elasticsearch/bin/elasticsearch-env-from-file: No such file or directory
使用docker run直接运行进入容器发现有该文件,进入工作目录发现文件权限为elasticsearch:root
检测本地挂载路径的权限为755,同组用户没有写入权限,初始化的时候失败了

解决:挂载路径加权限

chmod -R 775 /data/elk/elasticsearch

posted @ 2024-03-22 16:24  王又又的锅  阅读(580)  评论(0)    收藏  举报