elasticsearch,Docker,elasticsearch" /> elasticsearch,Docker,elasticsearch" />

无法从golang连接到docker上的elasticsearch

无法从golang连接到docker上的elasticsearch,docker,elasticsearch,Docker,elasticsearch,我正在使用olivere的elastic go库()创建与elasticsearch的连接,如下所示: addr = "http://172.17.0.2:9200" client, err := elastic.NewClient(elastic.SetURL(addr)) 我得到了这个错误: health check timeout: no Elasticsearch node available Elasticsearch在docker容器中运行,我可以从本地机器和docker容器中卷

我正在使用olivere的elastic go库()创建与elasticsearch的连接,如下所示:

addr = "http://172.17.0.2:9200"
client, err := elastic.NewClient(elastic.SetURL(addr))
我得到了这个错误:

health check timeout: no Elasticsearch node available
Elasticsearch在docker容器中运行,我可以从本地机器和docker容器中卷曲它。但是,go代码(在docker容器上运行)无法连接到它

curl -s -XGET 'http://172.17.0.2:9200/_nodes/http?pretty=1'
{
  "_nodes" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "cluster_name" : "elasticsearch",
  "nodes" : {
    "pGBN2DBISgSZ8hd9lFgmHw" : {
      "name" : "pGBN2DB",
      "transport_address" : "127.0.0.1:9300",
      "host" : "127.0.0.1",
      "ip" : "127.0.0.1",
      "version" : "5.6.4",
      "build_hash" : "8bbedf5",
      "roles" : [
        "master",
        "data",
        "ingest"
      ],
      "http" : {
        "bound_address" : [
          "0.0.0.0:9200"
        ],
        "publish_address" : "172.17.0.2:9200",
        "max_content_length_in_bytes" : 104857600
      }
    }
  }
}

我在用Docker做Mac。发布地址和IP已关闭,不确定是否与此有关。非常感谢您的帮助

编辑/
etc/elasticsearch/elasticsearch.yml
添加以下行:

network.host: 0.0.0.0
这将允许从其他IP进行连接

可能重复的