2016-10-31 11 views
0

私は私のホストにelasticsearchサービスを持っています。コンテナからホストへのアクセス

私は私のコンソールで実行することができます:コンテナ内

$ sudo ifconfig 
docker0 Link encap:Ethernet HWaddr 02:42:6b:fc:f8:82 
      inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 

$ curl http://127.0.0.1:9200 
{ 
    "name" : "node00", 
    "cluster_name" : "cluster00", 
    "cluster_uuid" : "Zk4RzStrTLeSD2TQXReRlA", 
    "version" : { 
    "number" : "5.0.0", 
    "build_hash" : "253032b", 
    "build_date" : "2016-10-26T04:37:51.531Z", 
    "build_snapshot" : false, 
    "lucene_version" : "6.2.0" 
    }, 
    "tagline" : "You Know, for Search" 
} 

を私はドッキングウィンドウのコミュのための私のIPアドレスを持って

[email protected]:~# curl http://172.17.0.1:9200 
curl: (7) Failed to connect to 172.17.0.1 port 9200: Connection refused 

をしかし、私はこれを実行した場合インターネットにクエリすると、有効な応答が得られます:

[email protected]:~# curl 'https://api.ipify.org?format=json' 
{"ip":"192.143.241.250"} 

コンテナからホストからelasticsearchサービスにアクセスするにはどうすればよいですか?

答えて

0

ホスト上のElasticsearchインスタンスが、localhost(127.0.0.1)のみをリッスンしている可能性があります。メイン設定ファイルのnetwork.hostの設定をご覧ください(おそらく/etc/elasticsearch/elasticsearch.ymlなど)。それはのようなものに見える場合:

network.host: 
    - 127.0.0.1 

を明示的ドッカーブリッジインタフェースを追加することができます。

network.host: 
    - 127.0.0.1 
    - 172.17.0.1 

それとも、それは(あなたが一定であればそれはあなたが望む行動だ)すべてのインターフェイスで聞くかもしれません。

network.host: 
    - 0.0.0.0 

reference for this configuration setting

関連する問題