【问题标题】:How to store elasticsearch data locally in host machine?如何在主机本地存储弹性搜索数据?
【发布时间】:2022-01-25 06:37:56
【问题描述】:

我遇到了一个非常相似的问题,

Docker bind elasticsearch volume in app folder

这是答案之一:

https://stackoverflow.com/a/69441244

他们建议在我需要提供的卷中的 docker-compose 文件中,

./esdata 表示当前目录。但是答案说我们需要授予权限 1000:1000 并且用户名是 elasticsearch:elasticsearch。

如何创建该权限和用户名。在我的 linux 系统中,我有一个名为 ubuntu 的个人用户名和一个 root。我没有名为 elasticsearch 的用户。请帮帮我。

services:
  elasticsearch:
    # Elasticsearch Instance
    container_name: gs-search
    image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2
    volumes:
      # Persist ES data in seperate "esdata" volume
      - ./esdata:/usr/share/elasticsearch/data
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
      - discovery.type=single-node
      - xpack.security.enabled=true
      - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      # Expose Elasticsearch ports
      - "9301:9300"
      - "9201:9200"

【问题讨论】:

    标签: linux docker ubuntu elasticsearch docker-compose


    【解决方案1】:

    您可以按照guide 在 Ubuntu 中轻松创建用户/组。然后,您可以使用用户 elasticsearch 和 docker-compose 登录。但是,每次新容器以新身份运行时,您都不需要额外的用户帐户;如果您授予将绑定到 Elasticsearch 的数据目录的组权限,例如:

    mkdir data
    chmod 770 data
    docker run -p 9200:9200 -p 9300:9300 -v ~/data:/usr/share/elasticsearch/data -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.16.2
    

    这将在本地计算机上正常运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多