spring-boot - RestClientConfig AbstractElasticsearchConfiguration 连接到同一网络上的 docker 服务
问题描述
我正在使用 spring data elasticsearch 连接到 docker 容器中的 elasticesearch。我使用的代码可以在这里找到
- 高级 REST 客户端
https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#reference
static class Config {
@Bean
RestHighLevelClient client() {
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("elasticsearch")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
spring boot 应用程序和 docker elastic search 在同一个网络上,因为它们都在同一个目录中(spring boot docker-compose 和 elasticsearch docker-compose 文件)。
我的 elasticsearch docker-compose 就是这样
版本:'3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.6
container_name: elasticsearch
environment:
- cluster.name=cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
- esdata6:/usr/share/elasticsearch/data
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.8.6
container_name: kibana
volumes:
- ./config/kibana/kibana.yml:/usr/share/kibana/kibana.yml
restart: on-failure
ports:
- "5601:5601"
volumes:
esdata6:
我收到错误
Caused by: java.io.IOException: elasticsearch
Caused by: java.net.UnknownHostException: elasticsearch
如何让我的 spring boot 看到 elasticsearch 服务名称并解决它?我认为这与 RestClients 有关。
解决方案
推荐阅读
- django - 如何在 django 中以一致的显示方式在两列网格中显示多个图像
- java - 用 Priorityqueue 替换 LinkedList。显示的错误是 java.lang.ClassCastException
- c++ - C宏检查clangd是否正在静态分析代码
- java - 如何复制项目 Android Studio 以进行备份
- javascript - 使用 readAsDataURL 加载后如何检索图像尺寸?
- amazon-web-services - 当我为我的 ECS Fargate 服务禁用自动分配公共 IP 地址时,ALB 目标组运行状况检查失败。该怎么办?
- vmware - 无法从 vmware 数据存储下载快照文件
- microcontroller - PIC24FJ64GA002 中的 PWM 设置
- python - Python:是否更改函数内部的dict
- vue.js - 如何使用带有自定义主题变体的 vuetify 颜色道具