首页 > 解决方案 > 使用环境变量限制 Elasticsearch 堆内存大小

问题描述

我正在尝试限制 Elasticsearch JVM 堆大小。

我有一个自定义 docker 映像(只是添加了一些插件)并启动它,我正在使用以下行:

docker run --name elastic-search -d -p 9200:9200 -p 9300:9300 --env-file=elastic-docker.properties build-server/my-elastic:latest

docker.properties 文件如下所示:

discovery.type=single-node
bootstrap.memory_lock=true
xpack.security.enabled=true
ELASTIC_USERNAME=elastic
ELASTIC_PASSWORD=changeme
ES_JAVA_OPTS="-Xms2g -Xmx2g"

但是ES_JAVA_OPTS这样的设置让我着迷Error: Could not find or load main class "-Xms2g。我尝试了 的组合ES_JAVA_OPTS=".bin/my-elastic -Xms2g -Xmx2g",但没有成功。

任何帮助表示赞赏,我真的更喜欢通过环境选项来做到这一点。

标签: dockerelasticsearch

解决方案


似乎引号在这里有问题。它实际上应该列ES_JAVA_OPTS=-Xms2g -Xmx2g在环境文件中。


推荐阅读