Dockerを使用してElasticsearch用の画像を構築するためのDockerファイルを作成しました。画像の作成は完全に動作し、docker run --rm -p 9200:9200 <imageid>
を使用して実行できます。コンテナのIPアドレスを使用してElasticsearchに正常にアクセスできます。 Github Projectにリンクしてください。Docker Volume Access Error
elasticsearch.ymlファイルには、ログとデータパスを設定します。
cluster.name: docker-cluster
network.host: 0.0.0.0
path.logs: C:/persistent/logs/
path.data: C:/persistent/data/
discovery.zen.minimum_master_nodes: 1
私は、ログおよびホスト上のデータを永続化するために、ボリュームを使用しようとすると、私はトラブルに実行されます。私はコマンドで
docker volume create elasticsearch
をボリュームを作成し、コンテナを実行します。奇妙なことは、ログファイルが作成されていることである
[2017-05-10T09:00:47,568][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access 'path.logs' (C:\persistent\logs)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.4.0.jar:5.4.0]
<snip>
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.4.0.jar:5.4.0]
Caused by: java.lang.IllegalStateException: Unable to access 'path.logs' (C:\persistent\logs)
at org.elasticsearch.bootstrap.Security.addPath(Security.java:413) ~[elasticsearch-5.4.0.jar:5.4.0]
<snip>
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.0.jar:5.4.0]
... 6 more
Caused by: java.nio.file.NoSuchFileException: C:\persistent\logs
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) ~[?:1.8.0_131]
<snip>
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.0.jar:5.4.0]
... 6 more
:
docker run --rm -p 9200:9200 -v elasticsearch:C:\persistent <imageid>
私にJavaの例外を与えますボリュームには例外の詳細が含まれています。ログフォルダのログファイルには、ログフォルダにアクセスできないというメッセージが表示されます。
私は、ログとデータフォルダをホスト上に作成し、Elasticsearchでそれらを作成しようとしました。私は2つの異なるボリュームを使用しようとしました.1つはログ用、もう1つはデータ用です。それらはすべて同じエラーになります。
ログとデータフォルダがElasticsearchに正しくアクセスできるようにするためには、何が必要ですか?