我正在尝试使用我的本地elasticsearch(容器)运行kibana控制台 在ElasticSearch documentation我看到了
Schema::create('notebooks', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->integer('contact_id')->unsigned()->nullable();
$table->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade');
$table->string('name');
$table->mediumText('note_description');
$table->mediumText('note_body');
$table->timestamps();
});
这让我可以快速运行社区版。
查看kibana documentation我只看到
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2
用run替换pull它会查找x-pack(我认为这意味着不是社区)并且找不到ES
docker pull docker.elastic.co/kibana/kibana:6.2.2
是否有一个可以在容器中轻松设置kibana的衬垫? 我只需要使用控制台(Sense replacement)
答案 0 :(得分:21)
如果你想在本地使用带有docker的kirana和elasticsearch,它们必须相互通信。为此,根据doc,您需要链接容器。
您可以使用--name
:
docker run \
--name elasticsearch_container \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:6.2.2
然后将此容器链接到kibana:
docker run \
--name kibana \
-p 5601:5601 \
--link elasticsearch_container:elasticsearch_alias \
-e "ELASTICSEARCH_URL=http://elasticsearch_alias:9200" \
docker.elastic.co/kibana/kibana:6.2.2
端口5601在本地公开以从您的浏览器访问它。您可以在监控部分查看弹性搜索的健康状况是否为绿色。
答案 1 :(得分:1)
也方便使用docker-compose
。
例如,下面的文件存储在主目录中,允许使用一个命令来启动Kibana:
docker-compose up -d
:
# docker-compose.yml
version: "2"
kibana:
image: "docker.elastic.co/kibana/kibana:6.2.2"
container_name: "kibana"
environment:
- "ELASTICSEARCH_URL=http://<elasticsearch-endpoint>:9200"
- "XPACK_GRAPH_ENABLED=false"
- "XPACK_ML_ENABLED=false"
- "XPACK_REPORTING_ENABLED=false"
- "XPACK_SECURITY_ENABLED=false"
- "XPACK_WATCHER_ENABLED=false"
ports:
- "5601:5601"
restart: "unless-stopped"
此外,Kibana服务可能是开发环境中项目的一部分(如果使用了docker-compose)。