Go ES客户端https://godoc.org/gopkg.in/olivere/elastic.v6尝试从OS X主机连接到在Docker容器中运行的ES时,引发“找不到活动连接:没有可用的Elasticsearch节点”错误。 关于如何在v5中解决它有很多讨论。*,但是,对于v6.4我什么都找不到。
Docker组成部分:
elasticsearch:
image: elasticsearch:6.4.2
network_mode: "bridge"
expose:
- "9200"
- "9300"
volumes:
- ./es-data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
去客户电话:
esClient, esClientErr :=
elastic.NewClient(elastic.SetURL("http://127.0.0.1:9200"))
if esClientErr != nil {
return nil, fmt.Errorf("Failed to connect to ES: %v", esClientErr)
}
输出:
2018/11/09 15:57:54 Failed to connect to ES: no active connection found: no Elasticsearch node available
exit status 1
更新
设置network.publish_host: "_local_"
解决了该问题。 publish_address
现在设置为127.0.0.1:9300
。