Docker安装部署ELK教程

零、要提前安装好docker、以及配置好docker国内镜像源

配置镜像源(是为了下载速度更加快)参考:

https://blog.csdn.net/u013592116/article/details/103906765

 

一、安装elasticsearch6.4.0

1、下载elasticsearch6.4.0

# 下载镜像 查看镜像
docker pull elasticsearch:6.4.0
docker images

说明下载成功

2、安装elasticsearch

# 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
docker network create somenetwork 

# 运行 elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.4.0

# 查看容器状态
docker ps

# 检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200

 

二、docker安装kibana

# 下载镜像 查看镜像
docker pull kibana:6.4.0
docker images

注意:

# 运行 Kibana
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:6.4.0

# 查看容器启动状态
docker ps

 

访问页面:http://192.168.74.128:5601/,出现如下情况,说明安装成功(ip地址是docker所在的虚拟机即宿主机ip):

三、安装logstash,并挂载文件到指定路径

 

1、下载logstash

# 下载镜像 查看镜像
docker pull logstash:6.4.0
docker images

2、安装logstash


docker run --name logstash -d -p 5044:5044 -p 9600:9600 logstash:6.4.0

查看是否安装logstash成功:

3、使用docker命令将logstash的/usr/share/logstash/config目录的文件拷贝到宿主机的 /usr/share/logstash/config 目录中,然后关闭并移除logstash容器,命令如下:

docker cp logstash:/usr/share/logstash/config /usr/share/logstash/config

docker stop logstash
docker rm logstash

4、重新启动logstash并指定挂载的文件,这样子以后启动logstash:

参数说明:-d是后台隐藏启动,-v是docker的挂载命令

docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /usr/share/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml  logstash:6.4.0

以后就可以不用进入docker容器的logstash目录中修改logstash.yml,直接可以通过上述命令修改宿主机/usr/share/logstash/config中的logstash.yml 然后运行:

docker restart logstash

就可以实现修改容器中logstash/usr/share/logstash/config/logstash.yml 的目的

四、下载安装elasticsearch-head插件(就算指定了国内镜像,下载速度都可能很慢)

1、下载elasticsearch-head

docker pull mobz/elasticsearch-head:5

说明下载成功了

2、启动elasticsearch-head

docker run -d -p 9100:9100 --name elasticsearch-head mobz/elasticsearch-head:5

说明启动成功了

然后浏览器访问 127.0.0.1:9100

 

 

出现这个界面表示 elasticsearch-head 安装成功
但是发现“集群健康值:未连接” 说明没有和elasticsearch 连接成功,需要elasticsearch配置跨域

进入elasticsearch容器然后修改/usr/share/elasticsearch/config/elasticsearch.yml文件,添加如下最后2行:

cluster.name: "docker-cluster"
#允许其他网络访问
network.host: 0.0.0.0


discovery.zen.minimum_master_nodes: 1
#跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

然后重启elasticsearch即可在浏览器访问 9100端口:

docker restart elasticsearch

 

 



 

注释:

docker images #查看docker下载好的镜像

docker ps#查看所有docker正在运行的容器

docker exec -it 87081e2ac639(通过docker ps 查询到的容器id)/bin/sh  #进入到正在运行中的指定容器id的容器中

docker stop/start/restart/rm logstash(容器名) #停止/开启/重启/删除 指定容器名的容器

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值