在容器中运行本地kibana
我想用我的本地elasticsearch(容器)在运行使用kibana控制台ElasticSearch文档,我看到
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2
这使我可以快速地运行社区版。
查看kibana文档,我只能看到
docker pull docker.elastic.co/kibana/kibana:6.2.2
用run替换pull会寻找x-pack(我认为这意味着不是社区),并且找不到ES
Unable to revive connection: http://elasticsearch:9200/
是否有一个可以轻松在容器中设置kibana本地化的衬板?我需要做的就是使用控制台(Sense更换)
回答:
如果您想在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的运行状况是否为绿色。
该选项--link
最终可能会被删除,现在是docker的旧功能。重现同一件事的惯用方式是首先创建一个用户定义的桥:
docker network create elasticsearch-kibana
然后在其中创建容器:
回答:
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.2
docker 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进行了更改。现在为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.2
docker 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解析,这意味着您可以通过容器名称相互访问。
以上是 在容器中运行本地kibana 的全部内容, 来源链接: utcz.com/qa/402575.html