【发布时间】:2017-11-29 06:06:12
【问题描述】:
我正在尝试同时运行多个版本的 ElasticSearch,应该很容易。这是我的命令:
docker run -d --rm -p 9250:9200 -p 9350:9300 --name es_5_3_3_integration -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.3.3
docker run -d --rm -p 9251:9200 -p 9351:9300 --name es_5_4_3_integration -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.4.3
第一个 docker 启动得很好。第二个 docker 启动,但代价是杀死第一个 docker。如果我在没有 -d 的情况下运行它,我不会向 UI 返回任何有关 docker 停止原因的信息。
【问题讨论】:
-
你给 docker 多少内存? ES 5 默认从 2GB 堆开始(参见 jvm.options),所以如果你的 Docker 没有至少 4GB,第一个实例确实会被杀死。
-
我没有指定任何自定义内容。
-
大概就是这样。我如何告诉 docker 只使用 500M 的内存?
-
我会说,你可能应该在每台服务器上使用少于 2GB 的堆来启动 ES。
-
你是对的@Val,添加 -e ES_JAVA_OPTS="-Xms200m -Xmx200m" 修复了它。想写一个答案,我会给你积分? :)
标签: docker elasticsearch