本次试验es和kibana的版本都是6.6.2(为了防止版本不同出现差异)

docker run -d --name es -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.2

在本机测试es启动是否成功

curl localhost:9201

如果出现下列json文件说明启动成功

{
  "name" : "elasticsearch-0",
  "cluster_name" : "search-app",
  "cluster_uuid" : "FAeqYqKKTgCTd_r_OgYzrg",
  "version" : {
    "number" : "6.6.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "04711c2",
    "build_date" : "2018-09-26T13:34:09.098244Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
docker run -it -d -e ELASTICSEARCH_URL=http://本机ip:9201 --name kibana_test -p 5601:5601 docker.elastic.co/kibana/kibana:6.6.2

添加ELASTICSEARCH_URL环境变量(会覆盖es的配置文件里的配置)
这里的本机ip是指你的docker宿主机的ip,不是容器的ip,也不能写成localhost,localhost会被解析成容器内的ip地址,这是无法被访问的。

打开浏览器访问ip+5601
docker 轻松搭建es+kibana环境
如果出现Kibana server is not ready yet,等会再访问就好了,等会还是不行的话,应该就是ELASTICSEARCH_URL没有写对