一. ElasticSearch
1.1 镜像拉取
$ docker search elasticsearch
$ docker pull elasticsearch:7.1.1
$ docker images
1.2 启动容器
$ docker network create somenetwork
$ docker run -d --name elasticsearch -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1
$ docker ps
$ curl http://139.155.17.53:9200/
二.Kibana
2.1 镜像拉取
$ docker search kibana
$ docker pull kibana:7.1.1
$ docker images
2.2 启动容器
$ docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1
$ docker ps
http://139.155.17.53:5601/
三.Logstash
3.1 镜像拉取
$ docker search logstash
$ docker pull logstash:7.1.1
$ docker images
3.2 配置文件
$ mkdir /data/elk/logstash;
$ vi /data/elk/logstash/logstash.yml
内容:
path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash
$ vi /data/elk/logstash/conf.d/test.conf
conf.d/test.conf (文件内容)
input {
tcp {
mode => "server"
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
action => "index"
index => "applog"
}
stdout {
codec => rubydebug
}
}
3.3 启动容器
$ docker run -d -it -p 5044:5044 -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --name logstash --net somenetwork -v /data/elk/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /data/elk/logstash/conf.d/:/usr/share/logstash/conf.d/ -v /data/elk/logstash/log:/var/log/logstash logstash:7.1.1
$ docker ps