将kibana与elasticsearch联系起来

Ric*_*hie 2 elasticsearch docker kibana

我的盒子上运行了以下docker容器......

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
Run Code Online (Sandbox Code Playgroud)

我的目的是让kibana链接到我的elasticsearch容器,但是当我点击kibana时,它告诉我我没有任何文档存储.我知道这是不对的,因为我肯定有弹性搜索中的文档.我猜我的链接命令是错误的.

这是我用来启动kibana容器的docker命令.

docker run -p 5601:5601 --link sad_meitner:elasticsearch -d kibana 
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?

谢谢

Far*_*ahi 9

首先,链接是一项传统功能,首先创建用户定义的网络:

docker network create mynetwork --driver=bridge
Run Code Online (Sandbox Code Playgroud)

现在mynetwork用于您希望能够相互通信的容器.

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
Run Code Online (Sandbox Code Playgroud)

Docker将为dns server您的用户定义网络运行,因此您可以按名称ping其他容器.

docker exec -it kibana /bin/bash
ping elasticsearch
Run Code Online (Sandbox Code Playgroud)

您可以使用telnetcurl验证来自kibana容器的kibana-> elasticsearch连接.

ps我official (library)最近使用了用户定义网络的ELK堆栈的docker图像,它就像一个魅力.