本次試驗es和kibana的版本都是6.6.2(爲了防止版本不一樣出現差別)node
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啓動是否成功docker
curl localhost:9201
若是出現下列json文件說明啓動成功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
若是出現Kibana server is not ready yet,等會再訪問就行了,等會仍是不行的話,應該就是ELASTICSEARCH_URL沒有寫對app