Java Docker上的弹性APM堆栈
我正在尝试用Elasticsearch、Kibana和APM服务器安装Elastic APM,作为docker compose的3个服务。现在我对如何在app-server.yml文件和文档中设置IP感到困惑。该文件应如下所示:Java Docker上的弹性APM堆栈,java,docker,
elasticsearch,kibana,Java,Docker,
elasticsearch,Kibana,我正在尝试用Elasticsearch、Kibana和APM服务器安装Elastic APM,作为docker compose的3个服务。现在我对如何在app-server.yml文件和文档中设置IP感到困惑。该文件应如下所示: apm-server: host: localhost:8200 output: elasticsearch: hosts: ElasticsearchAddress:9200 我试图将ElasticsearchAddress设置为localhost
apm-server:
host: localhost:8200
output:
elasticsearch:
hosts: ElasticsearchAddress:9200
我试图将ElasticsearchAddress设置为localhost或127.0.0.1,但总是出现如下错误
连接失败:获取http://127.0.0.1:9200: 拨打tcp 127.0.0.1:9200:getsockopt:连接被拒绝或连接失败:Gethttp://localhost:9200: 拨号tcp[::1]:9200:connect:无法分配请求的地址。我还尝试了其他几个IP
是否有人知道如何正确配置app server,或者是否有docker compose文件来正确安装
感谢您的帮助当您使用compose打开容器时,每个容器都有自己的网络堆栈,因此它们可以在本地主机上与自己通信,但它们需要ip地址或dns名称才能与不同的容器通信 默认情况下,Compose将每个容器连接到默认网络,并为每个容器提供一个带有服务名称的dns名称 如果您的撰写文件看起来像
services:
apm:
image: apm_image
elasticsearch:
image: elasticsearch:latest
apm容器中的进程可以在以下位置访问elasticsearch:http://elasticsearch:9200使用compose调出容器时,每个容器都有自己的网络堆栈,因此它们可以在本地主机上与自己通信,但它们需要ip地址或dns名称才能与不同的容器通信 默认情况下,Compose将每个容器连接到默认网络,并为每个容器提供一个带有服务名称的dns名称 如果您的撰写文件看起来像
services:
apm:
image: apm_image
elasticsearch:
image: elasticsearch:latest
apm容器中的进程可以在以下位置访问elasticsearch:http://elasticsearch:9200如果使用单个docker compose文件启动所有服务,则app-server.yaml的值应如下所示 输出: 弹性搜索: 主持人:elasticsearch:9200 hosts:elasticsearch:9200应该是您在docker compose中提到的elasticsearch的服务名称。就像下面 版本:“2” 服务: 弹性搜索: 图片:elasticsearch:最新
如果使用单个docker compose文件启动所有服务,则app-server.yaml的值应如下所示 输出: 弹性搜索: 主持人:elasticsearch:9200 hosts:elasticsearch:9200应该是您在docker compose中提到的elasticsearch的服务名称。就像下面 版本:“2” 服务: 弹性搜索: 图片:elasticsearch:最新