我试图同时运行多个版本的ElasticSearch,应该很容易。这是我的命令:
<p>
<a href="callto://4407398169667">+44 (073) 981-69667</a>
<span>
<a href="mailto:admin@indelibleelevations.com?Subject=Quick%20query" target="_top">admin@indelibleelevations.com</a>
</span>
</p>
第一个码头工人起得很好。第二个码头工人开始,但代价是杀死第一个码头工人。如果我在没有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
的情况下运行它,我就不会向用户界面提供有关码头工人停止原因的任何信息。
答案 0 :(得分:0)
默认情况下,docker上的ES尝试占用2G的内存。因此2个码头工人试图占用4G内存,这是我的机器没有的。
解决方案:使用以下开关-e ES_JAVA_OPTS="-Xms200m -Xmx200m"
4个并发码头工人的完整工作命令:
docker run -d --rm -p 9250:9200 -p 9350:9300 --name es_5_3_3_integration -e "xpack.security.enabled=false" -e ES_JAVA_OPTS="-Xms200m -Xmx200m" 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" -e ES_JAVA_OPTS="-Xms200m -Xmx200m" docker.elastic.co/elasticsearch/elasticsearch:5.4.3
docker run -d --rm -p 9252:9200 -p 9352:9300 --name es_5_5_3_integration -e "xpack.security.enabled=false" -e ES_JAVA_OPTS="-Xms200m -Xmx200m" docker.elastic.co/elasticsearch/elasticsearch:5.5.3
docker run -d --rm -p 9253:9200 -p 9353:9300 --name es_5_6_4_integration -e "xpack.security.enabled=false" -e ES_JAVA_OPTS="-Xms200m -Xmx200m" docker.elastic.co/elasticsearch/elasticsearch:5.6.4
感谢@Val在评论中真正回答了这个问题。
答案 1 :(得分:0)
如果这是内存不足的问题,您可以检查您的容器是否 OOMKilled (OOM)。
首先检查容器的退出代码是否为137 =(128 + 9)容器收到SIGKILL
您可以使用docker ps -a
或
docker inspect --format='{{.State.ExitCode}}' $INSTANCE_ID
然后您可以使用以下方法检查容器的状态:
docker inspect --format='{{.State.OOMKilled}}' $INSTANCE_ID
如果返回true,那就是OOM问题。
https://docs.docker.com/engine/reference/run/#user-memory-constraints的进一步详情 提取:
默认情况下,如果内存不足,内核会终止容器中的进程 发生(OOM)错误。要更改此行为,请使用 --oom-kill-disable选项。仅在已设置-m / - memory选项的容器上禁用OOM杀手。如果-m标志不是 设置,这可能导致主机内存不足并需要 杀死主机的系统进程以释放内存。