docker - 使用 docker-compose 在 kibana 中运行时如何将弹性搜索端口从 9200 映射到 92xx
问题描述
我有一个定义了 elasticsearch 和 kibana 的 docker-compose.yaml 文件。
当我运行 docker-compose 时,我将能够使用 url http://localhost:8181访问 kibana,并且所有内容都按 exepcted 运行。但是,我的问题是我不想在 kibana 中使用 elasticsearch 端口 9200,我想使用另一个端口(例如 9201)
使用 9200 以外的端口时,如何在 kibana 中进行 elasticsearch 连接?
我尝试在下面添加以下内容,但出现错误“无法在http://elasticsearch:9201连接到 Elasticsearch ”。
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3
environment:
discovery.type: single-node
ports:
-"9201:9200"
kibana:
depends_on:
- elasticsearch
image: docker.elastic.co/kibana/kibana-oss:6.2.3
environment:
SERVER_NAME: "s_name"
ELASTICSEARCH_URL: http://elasticsearch:9201
ports:
- "8181:5601"
以下适用于端口 9200
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3
environment:
discovery.type: single-node
kibana:
depends_on:
- elasticsearch
image: docker.elastic.co/kibana/kibana-oss:6.2.3
environment:
SERVER_NAME: "s_name"
ELASTICSEARCH_URL: http://elasticsearch:9200
ports:
- "8181:5601"
解决方案
ELASTICSEARCH_URL: http://elasticsearch:9201
将其设置为ELASTICSEARCH_URL: http://elasticsearch:9200
。
"9201:9200"
从容器端口映射到主机端口。也就是说,它将 9201 暴露在主机的网络接口上,并将其转发到容器中的端口 9200。
然而,您的 Kibana 服务正试图连接到 9201 elasticsearch
-不同网络上的不同容器 w/不同的 IP 地址,而不是 127.0.0.1,并且在该网络中,容器正在端口 9200 上运行一个进程。
编辑:再次阅读,您可以配置ElasticSearch 的端口配置端口号。尝试http.port
在环境中设置(基于https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-configuration-methods):
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3
environment:
discovery.type: single-node
http.port: 9201-9301
ports:
-"9201:9201"
推荐阅读
- machine-learning - 评估在 Spacy 中训练的 NER 模型的好指标是什么
- javascript - 如何在基于事件的 websocket 实现中分离客户端?
- flutter - Flutter - 容器宽度和高度适合父级
- javascript - 从 javascript 对象创建 HTML 对象,然后在点击时移动它们
- xml - 如何循环遍历 xslt 文件并提取路径
- oauth-2.0 - 授权后不和谐oAuth2登录
- python - 在 pyqt5 中控制 QThread?
- css - CSS位置粘性不适用于引导程序4类行
- python - python pandas groupby/apply:传递给apply函数的究竟是什么?
- node.js - npm 错误!代码 ENOLOCAL npm 错误!无法从“Ibrahi\AppData\Roaming\npm-cache\_npx\8992”安装,因为它不包含 package.json 文件