注意 : 可以不用和我一样的版本,但需要注意版本号的问题。
安装 elasticsearch
1. 拉取镜像
docker pull elasticsearch:7.8.1
2. 创建挂载目录
mkdir -p /home/lianji/Desktop/es/config
mkdir -p /home/lianji/Desktop/es/data
mkdir -p /home/lianji/Desktop/es/plugins
3.允许其他应用访问
echo "http.host: 0.0.0.0">>/home/lianji/Desktop/es/config/elasticsearch.yml
chmod -R 777 /home
4.修改yml配置文件
在 elasticsearch.yml 中内容为:
cluster.name: "my-application"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
5. 启动es
docker run --name es -p 9200:9200 -p 9300:9300 \
--restart always \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /home/lianji/Desktop/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/lianji/Desktop/es/data:/usr/share/elasticsearch/data \
-v /home/lianji/Desktop/es/plugins:/usr/share/elasticsearch/plugins \
-v /home/lianji/Desktop/es/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:7.8.1
安装 kibana
1. 拉取镜像
docker pull kibana:7.8.1
2. 创建挂载目录
创建并设置权限
mkdir -p /home/lianji/Desktop/kibana/config
cd /home/lianji/Desktop/kibana/config
touch kibana.yml
chmod -R 777 kibana.yml
3.查看es 容器的ip地址
#ESNAME 为 #访问http://172.16.0.0.1:9200 会看到的name对应的值
docker inspect --format '{{ .NetworkSettings.IPAddress }}' #ESNAME
4.修改 kibana.yml 配置
vi kibana.yml
#修改配置为如下
# 允许远程连接
server.host: "0.0.0.0"
# http://es容器内部的id地址:9200 注意必须是es的内部ip地址
elasticsearch.hosts: ["http://172.17.0.3:9200"]
# 改为中文界面
i18n.locale: "zh-CN"运行kibana
5.运行kibana
docker run --name kibana771 --restart=always \
-p 5601:5601 \
-v /home/lianji/Desktop/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
-d kibana:7.8.1
安装 es-head
可以不安装这个,界面用着不太爽。看着也不爽。
唯一好处,看索引列表比较方便直观。
1.拉取镜像
docker pull mobz/elasticsearch-head:5
2. 拷出app.js、vendor.js,用来挂载
docker cp es-head:/usr/src/app/_site/app.js /home/lianji/Desktop/eshead/
docker cp es-head:/usr/src/app/_site/vendor.js /home/lianji/Desktop/eshead/
3.修改拷贝的文件
vi app.js
把默认连接地址localhost改成你本机对应的IP
vi vendor.js
修改两个地方,输入 set nu 查看行号,进行修改。
6886行
contentType: "application/x-www-form-urlencoded
改成
contentType: "application/json;charset=UTF-8"
7574行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
4. 运行 es-head
docker run -d --name es-head -p 9100:9100 \
-v /home/lianji/Desktop/eshead/app.js:/usr/src/app/_site/app.js \
-v /home/lianji/Desktop/eshead/vendor.js:/usr/src/app/_site/vendor.js \
mobz/elasticsearch-head:5