gpt4 book ai didi

linux - 如何在主机本地存储 Elasticsearch 数据?

转载 作者:行者123 更新时间:2023-12-04 19:26:25 24 4
gpt4 key购买 nike

我遇到了这个非常相似的问题,
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"

最佳答案

您可以按照 guide 在 Ubuntu 中轻松创建用户/组.然后,您可以使用用户 elasticsearch 登录并启动您的 docker-compose。但是,每次新容器以新身份运行时,您都不需要额外的用户帐户;如果您向将绑定(bind)到 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
这将在本地机器上运行良好。

关于linux - 如何在主机本地存储 Elasticsearch 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70476131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com