elasticsearch,docker-compose,dockerfile,logstash,Docker,elasticsearch,Docker Compose,Dockerfile,Logstash" /> elasticsearch,docker-compose,dockerfile,logstash,Docker,elasticsearch,Docker Compose,Dockerfile,Logstash" />

如何将示例Logstash docker容器链接到Elastics网站上的示例Elasticsearch集群?

如何将示例Logstash docker容器链接到Elastics网站上的示例Elasticsearch集群?,docker,elasticsearch,docker-compose,dockerfile,logstash,Docker,elasticsearch,Docker Compose,Dockerfile,Logstash,我试图做一个快速引导,以查看elasticsearch中的一些示例数据 这里是您执行Docker Compose以获取ES群集的位置: 下一步,我需要把logstash放在适当的地方。我是这样做的: 当我curl我的主机时,curl localhost:9200会给我一个示例连接字符串。所以我可以说它是暴露的。现在,当我从上面运行logstash docker文件时,我注意到在引导代码期间它无法连接到:localhost:9200 我认为在中为elastic创建的专用网络适合集群,并且我不需要

我试图做一个快速引导,以查看elasticsearch中的一些示例数据

这里是您执行Docker Compose以获取ES群集的位置:

下一步,我需要把logstash放在适当的地方。我是这样做的:

当我curl我的主机时,curl localhost:9200会给我一个示例连接字符串。所以我可以说它是暴露的。现在,当我从上面运行logstash docker文件时,我注意到在引导代码期间它无法连接到:localhost:9200

我认为在中为elastic创建的专用网络适合集群,并且我不需要向其中添加日志存储。我是否必须做一些不同的事情才能让默认日志存储与默认docker交互

我在这个问题上纠缠了一段时间。我的主机系统是Debian9。我正在努力思考可能存在的问题。我知道-p 9200:9200会将端口耦合在一起,但9200已被ES声明,因此我不确定应该如何处理。我在网站上没有看到任何内容,上面写着“要将开箱即用的日志存储链接到开箱即用的elasticsearch,你需要做X,Y,Z”

当尝试使用-it为logstash服务器创建一个终端时,它会不断地引导logstash,而不会给我一个终端来查看内部的情况

您有什么建议?

添加
——将您的\u elasticsearch\u容器\u id:elasticsearch
链接到logstash的docker run命令。然后elasticsearch容器将在
http://elasticsearch:9200
,假设您没有TLS,并且使用了默认端口(如果您遵循您参考的文档,情况会怎样)


如果您在下一步需要filebeat或kibana,请参阅我最近回答的问题:

看看它是如何完成的链接做了什么?它是否本质上赋予它通过伪造域名共享数据的权利?示例:在您的案例中,
:elasticsearch是否将其指定为域名,以供
https://elasticsearch:9200
url?是的,想象一下它是容器之间的单向链接电缆。关于名称,您是对的,它模拟链接容器的主机名。这是一个旧功能,可能会在将来的版本中删除。查看docker networking以了解链接容器的最新方式:
link
不受欢迎,不应使用。您应该创建一个网络并将两个容器添加到此网络。。。