一、拉取相應(yīng)鏡像
elk版本號最好使用統(tǒng)一的版本號,我這里統(tǒng)一使用的是6.5.4版本
//拉取 elasticsearch鏡像
docker pull elasticsearch:6.5.4
//拉取logstash鏡像
docker pull logstash:6.5.4
//拉取kibana鏡像
docker pull kibana:6.5.4
二、構(gòu)建容器
2.1構(gòu)建elasticsearch容器
elasticsearch默認的端口號是9200,這里將容器的9200端口,映射到宿主機上,這樣我們就可以通過9200端口訪問elasticsearch,暴露5601端口是為kibana容器做準備
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e"discovery.type=single-node" elasticsearch:6.5.4
//配置elasticsearch容器
#進入容器
docker exec -it es /bin/bash
#編輯文件
vi config/elasticsearch.yml
#加入跨域準備
http.cors.enabled: true
http.cors.allow-origin: "*"
#重啟容器
docker restart es
#訪問驗證

2.1.1安裝elasticsearch—head插件(主要也是為了方便查看elasticsearch)
#拉取鏡像
docker pull mobz/elasticsearch-head:5
#構(gòu)建elasticsearch——head容器
docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
#查看驗證

2.2構(gòu)建kibana容器
#這里kibana容器共用elasticsearch容器的端口
docker run -it -d -e ELASTICSEARCH_URL=http://192.168.80.131:9200 --name kibana --network=container:es kibana:6.5.4
#查看驗證(訪問5601端口號)

2.3構(gòu)建logstash容器
#這里我們用dockers-compose 文件構(gòu)建容器,docker-compose.yml文件配置如下


#解釋說明:掛載三個本地目錄到容器中
?1.logs里面映射的是一個springboot與springcloud項目的日志 與本文章的主題關(guān)系不大

2掛載.logstash-conf目錄是 為了把本地的配置文件(logstash.conf)映射到容器中
3.掛載logstash_yml目錄是為了把logstash.yml文件映射到容器中,以覆蓋掉容器中的logstash.yml
中,logstash.yml中主要修改了一個參數(shù),原為elasticsearch:9200

4.command 主要是為了使用logstash.conf文件啟動容器
5、數(shù)據(jù)的傳遞如下圖

5、驗證查看
訪問kibana地址(ip:5601)



項目中提到的項目地址:https://github.com/chengtaiheng/springboot-springcloud-docker
更多kibana的網(wǎng)上的使用教程,請在網(wǎng)上自行搜索。