1. 下载需要的镜像文件
    1. docker pull elasticsearch
    2. docker pull logstash
    3. docker pull kibana
    1. 运行 elasticsearch
    1. # 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
    2. docker network create somenetwork
    3. # 创建data文件夹并授权
    4. cd /usr/local
    5. mkdir elasticsearch
    6. cd elasticsearch
    7. mkdir data
    8. chmod 777 data/
    9. --net somenetwork \
    10. # 运行 elasticsearch
    11. docker run -d \
    12. --name elasticsearch \
    13. --restart=always \
    14. -p 9200:9200 \
    15. -p 9300:9300 \
    16. -e "discovery.type=single-node" \
    17. -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
    18. -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    19. -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
    20. elasticsearch:7.7.0
    21. docker run -d -p 9100:9100 --restart=always --name elasticsearch-head mobz/elasticsearch-head:5
    22. # 检测 elasticsearch 是否启动成功
    23. curl 127.0.0.1:9200
    1. 运行 Kibana
    1. docker run -d --restart=always --name kibana --net somenetwork -p 5601:5601 -e "I18N_LOCALE=zh-CN" kibana:7.1.1
    1. 安装 Logstash
      1. 创建配置文件的映射文件
    1. cd /usr/local
    2. # 创建文件夹
    3. mkdir logstash
    4. # 创建配置文件的文件夹和日志文件夹
    5. cd /usr/local/logstash
    6. mkdir conf.d
    7. mkdir logs
    8. # 编写logstash.yml
    9. vim logstash.yml
    10. path.config: /usr/local/logstash/conf.d/*.conf
    11. path.logs: /usr/local/logstash/logs
    12. # 编写日志配置文件
    13. cd conf.d
    14. vim springboot-logstash
    15. input {
    16. tcp {
    17. mode => "server"
    18. port => 5044
    19. codec => json_lines
    20. }
    21. }
    22. output {
    23. elasticsearch {
    24. hosts => "localhost:9200"
    25. index => "springboot-logstash-%{+YYYY.MM.dd}"
    26. }
    27. }
    1. 2. 运行
    1. docker run -d \
    2. --restart=always -p 5044:5044 -p 9600:9600 --name logstash --net somenetwork \
    3. -v /usr/local/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml \
    4. -v /usr/local/logstash/conf.d/:/usr/share/logstash/conf.d/ \
    5. logstash:7.1.1
    1. 3. 修改插件源, 防止插件下载过慢
    1. # 进入logstash容器
    2. docker exec -it logstash /bin/bash
    3. # 查看logstash 的Gemfile
    4. head /usr/share/logstash/Gemfile
    5. ## 修改镜像地址
    6. vi /usr/share/logstash/Gemfile

    更改默认的 https://rubygems.orghttps://mirrors.tuna.tsinghua.edu.cn/rubygems

    1. 4. 安装插件
    1. # 进入logstash容器
    2. docker exec -it logstash /bin/bash
    3. # 进入bin目录
    4. cd /bin/
    5. # 安装插件
    6. ./logstash-plugin install logstash-codec-json_lines
    7. # 退出容器
    8. exit
    9. # 重启logstash服务
    10. docker restart logstash