Elasticsearch は root で実行できない(←Docker の Elasticsearch は権限に注意)(←Docker の Volume 指定では権限に注意)

さらに補足

Docker で Volume 指定をしたディレクトリを予め作ってしまったことが問題っぽいです(自動で作られる前に)。

Docker で Volume 指定をすると思わぬ権限で上書きされて思わぬパーミッションエラーが出るので注意しましょうということです。

補足

以下の内容は root うんぬんの話ではなく「適切なユーザでない」ことが原因と思われます。

現象

Elasticsearch で Permission のことを言われたらおそらく標題のことが原因の可能性があります*1。具体的には以下のようなエラーメッセージが出ます。

Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

どうするか

root で実行しないのが一番ですが、chown で対処することもできます。

余談

Docker で Elasticsearch を実行して Permission エラーが出まくっていたところ、volumes の設定が原因でした。Docker は root で volumes のディレクトリを作るためです。

参考(感謝)

github.com

stackoverflow.com

*1:ファイルの読み書き作成など

Powered by はてなブログ