连接kibana与弹性搜索 [英] linking kibana with elasticsearch
问题描述
我在我的盒子上运行了以下docker容器...
I have the following docker containers running on my box...
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5da7523e527b kibana "/docker-entrypoint.s" About a minute ago Up About a minute 0.0.0.0:5601->5601/tcp elated_lovelace
20aea0e545ca elasticsearch "/docker-entrypoint.s" 3 hours ago Up 3 hours 0.0.0.0:9200->9200/tcp, 9300/tcp sad_meitner
我的目标是要得到kibana链接到我的弹性搜索容器,但是当我打kibana它告诉我,我没有任何文件存储。我知道这是不正确的,因为我绝对有弹性搜索的文件。我猜我的链接命令是错误的。
My aim was to get kibana to link to my elasticsearch container however when I hit kibana it's telling me that I do not have any document stores. I know this is not right because I definitely have documents in elasticsearch. I'm guessing my link command is wrong.
这是我用来启动kibana容器的docker命令。
This is the docker command I used to start the kibana container.
docker run -p 5601:5601 --link sad_meitner:elasticsearch -d kibana
有人可以告诉我我做错了什么吗?
Can someone tell me what I've done wrong?
谢谢
推荐答案
首先,链接是一个遗留功能,先创建用户定义的网络:
First of all, Linking is a legacy feature, Create a user defined network first:
docker network create mynetwork --driver=bridge
现在,您可以使用 mynetwork
来容纳您想要彼此沟通的容器。 / p>
Now use mynetwork
for containers you want to be able to communicate with each other.
docker run -p 5601:5601 --name kibana -d --network mynetwork kibana
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -d --network mynetwork elasticsearch
Docker将运行一个 dns服务器
为您的用户定义的网络,所以你可以ping其他容器的名称。
Docker will run a dns server
for your user defined network, so you can ping other container by name.
docker exec -it kibana /bin/bash
ping elasticsearch
你可以使用 telnet
或 curl
来验证来自kibana容器的kibana-> elasticsearch连接。
You can use telnet
or curl
to verify kibana->elasticsearch connectivity from kibana container.
ps我使用官方(库)
最近用户定义的网络的ELK堆栈的码头图像,它的作用就像一个魅力。
p.s I used official (library)
docker images for ELK stack with user defined networking recently and it worked like a charm.
这篇关于连接kibana与弹性搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!