一.安装前须知
以下步骤在 VMware 中的 centos 7 中操作,ip 地址为:192.168.161.128;
注意安装的时候最好统一版本,否则后面会出现许多问题,进官网搜索对应镜像,查看 Tags 标签下的版本,目前我这最新的 Tags 是 7.12.1,所以拉取镜像时统一加上该版本号。官网镜像地址
Docker 搭建 ELK 之前需熟悉 Docker 的相关指令,如:拷贝容器文件docker cp、强制删除容器: docker rm -f 容器id、创建网络: docker network create elk、查看日志:docker logs container 等等。
为了方便后续文件的挂载,先创建如下目录 /usr/local/elk ,再执行 mkdir /usr/local/elk/{elasticsearch,kibana,logstash} 创建3个对应的目录,所以以下操作如无特别说明,均在 /usr/local/elk下执行。
为了容器间的通信,需要先用 docker 创建一个网络: docker network create elk。
二.安装 Docker
安装 docker 可以照着官网步骤一步一步来,挺简单的。
Install Docker Engine on CentOS
安装完后可以看下版本:docker -v
查看 docker 详细信息:docker info
三.Docker 安装 ElasticSearch
1.搜索、下载并查看镜像
# 搜索镜像
docker search elasticsearch
# 拉取 7.12.1 版本镜像
docker pull elasticsearch:7.12.1
# 查看所有镜像
docker images
2.拷贝配置文件
# 运行 elasticsearch
docker run -d --name es --net elk -P -e "discovery.type=single-node" elasticsearch:7.12.1
# 进入容器查看配置文件路径
docker exec -it es /bin/bash
cd config
在 config 中可看到 elasticsearch.yml 配置文件,再执行 pwd 可以看到当前目录为: /usr/share/elasticsearch/config,所以退出容器,执行文件的拷贝:
# 将容器内的配置文件拷贝到 /usr/local/elk/elasticsearch/ 中
docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch/
# 修改文件权限
chmod 666 elasticsearch/elasticsearch.yml
# 在elasticsearch 目录下再创建data目录,同时修改权限
chmod -R 777 elasticsearch/data
注意:这里要修改文件的权限为可写,否则,进行挂载后,在外部修改配置文件,容器内部的配置文件不会更改。同时,创建 data 目录进行挂载。
3.重新运行容器并挂载:
# 先删除旧的容器
docker rm -f es
# 运行新的容器
docker run -d --name es \
--net elk \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
--privileged=true \
-v $PWD/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v $PWD/elasticsearch/data/:/usr/sh