一. ElasticSearch
1.1 镜像拉取
#搜索下
$ docker search elasticsearch
#拉取镜像
$ docker pull elasticsearch:7.1.1
#查看镜像是否拉取成功
$ docker images
1.2 启动容器
# 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
$ docker network create somenetwork
# 运行 elasticsearch (ps: 由于测试虚机内存不足 设置的内存大小 -e ES_JAVA_OPTS="-Xms256m -Xmx256m",如果内存足够不需要设置 )
$ 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
# 检测 elasticsearch 是否启动成功
$ curl http://139.155.17.53:9200/
二.Kibana
2.1 镜像拉取
# 搜索下
$ docker search kibana
#拉取镜像
$ docker pull kibana:7.1.1
#查看镜像是否拉取成功
$ docker images
2.2 启动容器
# 运行 Kibana
$ 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 启动容器
# 运行 Logstash (ps:测试机内存不足 没办法只能设置内存大小)
$ 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
还没有评论,来说两句吧...