docker - 使用环境变量限制 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"
,但没有成功。
任何帮助表示赞赏,我真的更喜欢通过环境选项来做到这一点。
解决方案
似乎引号在这里有问题。它实际上应该列ES_JAVA_OPTS=-Xms2g -Xmx2g
在环境文件中。
推荐阅读
- sql - 加入表,但确保返回第一个表中的所有行
- powershell - 如何跳过 Get-ChildItem 返回访问被拒绝的错误
- php - updateOrCreate 与 Carbon 日期不匹配
- javascript - 使用 JQuery 隐藏页面上的按钮
- reactjs - ReactJS 样式的组件(工具提示)显示在错误的位置
- c# - C# 使用带有密钥的随机数生成来解决加密消息,但我无法将消息保留在字符串中
- flutter - 如何在 Flutter 中从左到右水平淡入淡出?
- javascript - 我正在尝试用 Javascript 编写一个不和谐的机器人,但它一直说“预期声明或声明。ts(1128)”
- python - Numpy 数组在编码和写入文件时以某种方式被破坏
- c++ - 如何从离线配置单元中读取注册表