一、自定义网络
保证同一网络下的容器(ElasticSearch、Logstash、Kibana)相互访问
1、创建自定义网络ELK
docker network create elk
2、查看已有网络
docker network ls
3、删除网络
不需要时,删除网络
docker network rm elk
二、Docker安装Elasticsearch
1、创建目录
mkdir -p /opt/elasticsearch/{config,data}chmod 777 /opt/elasticsearch/{config,data}
2、拉取镜像
docker pull elasticsearch:7.16.2
3、配置文件
(1)创建配置文件elasticsearch.yml
vi /opt/elasticsearch/config/elasticsearch.yml
(2)添加配置信息
# 允许通过本机所有IP访问http.host: 0.0.0.0# 是否支持跨域,默认为falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"
4、创建和启动容器
docker run -d --name elasticsearch --net elk --restart always \-p 9200:9200 -p 9300:9300 \-e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \-e "discovery.type=single-node" \-v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \elasticsearch:7.16.2
JVM堆内存大小设置 128M 时,安装 IK 分词器的时候会报错,建议堆内存设置至少 256M。
三、Docker安装IK分词器
1、获取分词器链接
访问 https://github.com/medcl/elasticsearch-analysis-ik/releases 查找与 ElasticSearch 版本对应的分词器,复制其完整下载地址。
2、以交互方式进入elasticsearch
docker exec -it elasticsearch /bin/sh
3、进入bin目录
cd bin/
4、安装分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.16.2/elasticsearch-analysis-ik-7.16.2.zip
5、查看分词器
elasticsearch-plugin list
6、重启Elasticsearch
docker restart elasticsearch
四、Docker安装Kibana
1、拉取镜像
docker pull kibana:7.16.2
kibana的版本号要和elasticsearch的一样,否则可能无法正常使用
2、创建和启动容器
docker run -d --name kibana --net elk --restart always -p 5601:5601 kibana:7.16.2

