Asis Gtm
Asis Gtm

Reputation: 1

How to run Elasticsearch 5.2.1 as root user in docker

I am working on a Django project which uses elasticsearch.The Django version is 1.9.2,python version is 2.7. I'm deploying project inside of a Docker container, which usually run processes as root user.The image is successfuly built and everything works fine except elasticsearch. I get

root@05641a637072:~/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

error when trying to start ElasticSearch, and there doesn't seem to be a way to get around it. What's the reason ElasticSearch can't run as root? Inside of the docker container things are isolated and root processes are considered safe.

Upvotes: 0

Views: 5175

Answers (1)

Neeraj
Neeraj

Reputation: 1817

It’s not recommended to run elasticsearch as root. For temporary solution, you can run by enabling property es.insecure.allow.root as line below.

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

Upvotes: 1

Related Questions