2017-04-19 568 views
0

我正在使用elasticsearch的Django项目。Django版本是1.9.2,python版本是2.7。我在Docker容器中部署项目,通常以root用户身份运行进程。镜像成功构建,除弹性搜索外,一切正常。我得到如何在Docker中以root用户身份运行Elasticsearch 5.2.1

[email protected]:~/arches# elasticsearch-5.2.1/bin/elasticsearch 
[2017-04-19T07:37:13,347][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] 
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.1.jar:5.2.1] 
Caused by: java.lang.RuntimeException: can not run elasticsearch as root 
     at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:203) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.1.jar:5.2.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.1.jar:5.2.1] 
     ... 6 more 

尝试启动ElasticSearch时出错,似乎没有办法解决它。 ElasticSearch无法以超级用户身份运行的原因是什么?码头集装箱内部的东西是孤立的,根过程被认为是安全的。

+0

如果Elasticsearch需要一个非root用户,则需要启动Eloasticsearch – user2915097

回答

0

不建议以root身份运行elasticsearch。对于临时解决方案,您可以通过启用属性es.insecure.allow.root来运行,如下所示。

bin/elasticsearch -Des.insecure.allow.root=true 
+0

请参阅此链接前添加非特权用户喜欢unpriv,并使用你的Dockerfile用户unpriv'指令。它解释了为什么以root身份运行弹性搜索是不安全的。 https://discuss.elastic.co/t/why-is-it-elasticsearch-is-not-allowed-to-run-as-root/60413/2 – Neeraj

+0

不适用于此。 –

+0

你能告诉我们码头文件吗? – Neeraj

相关问题