Elasticsearchを使用する:Docker公開リポジトリから最新(v5.1)、私はCerebroを含む自分のイメージを作成しました。私はEleresearchネットワークを適切に設定して、CerebroのElasticsearchに接続できるようにしようとしています。作成したコンテナの中を走っているCerebroは、私のホストのhttp://localhost:9000に正しく描画されます。私のイメージをコミットした後Elasticsearch 5.1とDocker - ホストからElasticsearchに届くようにネットワークを正しく設定する方法
が、私は次のように私のドッカーコンテナを作成しました:〜/ elasticsearchで
sudo docker run -d -it --privileged --name es5.1 --restart=always \
-p 9200:9200 \
-p 9300:9300 \
-p 9000:9000 \
-v ~/elasticsearch/5.1/config:/usr/share/elasticsearch/config \
-v ~/elasticsearch/5.1/data:/usr/share/elasticsearch/data \
-v ~/elasticsearch/5.1/cerebro/conf:/root/cerebro-0.4.2/conf \
elasticsearch_cerebro:5.1 \
/root/cerebro-0.4.2/bin/cerebro
私elasticsearch.yml/5.1/config現在指定された次のネットワークと発見のエントリがあります。
network.publish_host: 192.168.1.26
discovery.zen.ping.unicast.hosts: ["192.168.1.26:9300"]
私も0.0.0.0を試して、これらの設定のループバックにデフォルト値を指定していません。さらに、私は値の組み合わせでnetwork.hostを指定しようとしました。どんなに私はこれを設定する方法、起動時にelasticsearchログ:
[info] play.api.Play - Application started (Prod)
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
[error] p.c.s.n.PlayDefaultUpstreamHandler - Cannot invoke the action
java.net.ConnectException: Connection refused: localhost/127.0.0.1:9200
… cascading errors because of this connection refusal...
は、どんなに私がelasticsearch.ymlネットワーキングを設定する方法、Elasticsearchの起動時にエラーメッセージは変化しません。私はelasticsearch.ymlがDockerコンテナの内部で取得されていることを確認しました。私はこの構成で間違っていると私に教えてください。
あなたは間違いなくDockerコンテナでサービスが動作しないようにしたいと思います。あなたは本当に唯一のプロセスとしてforegraoundで実行されているElasticsearchプロセスを望んでいます。サービスとcronジョブはコンテナ内で実行されません。 – Zagrev
ありがとうございます。私はあなたがこの問題にぶつかったと思う、私はコンテナ内のサービスとしてESを実行しようとしていると思う。 –