如果您想在docker本地将kibana与elasticsearch一起使用,它们必须彼此通信。为此,根据doc,您需要链接容器。您可以使用以下命令为elasticsearch容器命名
--name:
docker run --name elasticsearch_container --publish 9200:9200 --publish 9300:9300 --env "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2
然后将此容器链接到kibana:
docker run --name kibana --publish 5601:5601 --link elasticsearch_container:elasticsearch_alias --env "ELASTICSEARCH_URL=http://elasticsearch_alias:9200" docker.elastic.co/kibana/kibana:6.2.2
端口5601在本地公开,可以从浏览器访问它。您可以在监视部分中检查elasticsearch的运行状况是否为绿色。
编辑(24/03/2020):
该选项
--link
最终可能会被删除,现在是docker的旧功能。重现同一件事的惯用方式是首先创建一个用户定义的桥:
docker network create elasticsearch-kibana
然后在其中创建容器:
版本6
docker run --name elasticsearch_container --network elasticsearch-kibana --publish 9200:9200 --publish 9300:9300 --env "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2docker run --name kibana --publish 5601:5601 --network elasticsearch-kibana --env "ELASTICSEARCH_URL=http://elasticsearch_container:9200" docker.elastic.co/kibana/kibana:6.2.2
版本7
如前所述,环境变量已针对版本7进行了更改。现在为
ELASTICSEARCH_HOSTS。
docker run --name elasticsearch_container --network elasticsearch-kibana --publish 9200:9200 --publish 9300:9300 --env "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2docker run --name kibana --publish 5601:5601 --network elasticsearch-kibana --env "ELASTICSEARCH_HOSTS=http://elasticsearch_container:9200" docker.elastic.co/kibana/kibana:7.6.2
用户定义的网桥可在容器之间提供自动DNS解析,这意味着您可以通过容器名称相互访问。



