运行ElasticSearch的Docker的network.host设置

时间:2019-03-20 15:07:57

标签: docker elasticsearch ubuntu-16.04

我正在使用以下命令在ubuntu主机中运行一个docker:

docker run -d --rm -p 9200:9200 -p 9300:9300 --name elasticsearch6.6.1 docker.elastic.co/elasticsearch/elasticsearch:6.6.1

以后像这样查询时,我会失败:

curl 'http://localhost:9200/?pretty'

失败看起来像这样:

卷曲'http://localhost:9200/?pretty'

[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/dcac22e9-6b6f-443b-8497-c093dd6bb804.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (56) Recv failure: Connection reset by peer

所以,我的问题是:

  1. 如何在docker上启动elasticsearch并发布端口9200 和9300托管给主机?

  2. 是否需要network.host = _ 站点 _设置?

谢谢

1 个答案:

答案 0 :(得分:0)

我想您已删除network.host或它的设置不正确。当Docker中的对等问题导致连接重置时,最有可能发生在您尝试访问的端口绑定到localhost时。因此,您需要将network.host=设置为0.0.0.0,如here所示,默认值为127.0.0.1。修改值后,重新启动容器,然后重试