I'm trying to connect to an ElasticSearch
container from a Golang
container using the official go-elasticsearch
api. However when I try and connect to the container I get this error:
Error getting response: dial tcp 172.28.0.2:9200: connect: connection refused
I think it's an issue in the container setup?
docker-compose.yaml
version: "3"
services:
redis_server:
image: "redis"
ports:
- "6379:6379"
lambda_server:
build: .
ports:
- "8080:50051"
depends_on:
- redis_server
- elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.1
ports:
- "9200:9200"
- "9300:9300"
environment:
- xpack.security.enabled=false
- discovery.type=single-node
- http.cors.enabled=true
- http.cors.allow-origin=*
go
tlsConf := &http.Transport{
TLSClientConfig: &tls.Config{
Renegotiation: tls.RenegotiateOnceAsClient,
Certificates: []tls.Certificate{cer},
},
}
cfg := elasticsearch.Config{
Addresses: []string{
"http://elasticsearch:9200",
"http://elasticsearch:9300",
},
Transport: tlsConf,
}
elasticClient, err = elasticsearch.NewClient(cfg)
res, err := elasticClient.Info()
if err != nil {
log.Fatalf("Error getting response: %s", err)
}