1 安装elasticsearch
1.1 拉取镜像
docker pull elasticsearch:7.12.1
1.2 创建挂载目录
mkdir -p /app/elasticsearch/conf
echo "http.host: 0.0.0.0" >> /app/elasticsearch/conf/elasticsearch.yml
mkdir -p /app/elasticsearch/data
mkdir -p /app/elasticsearch/plugins
mkdir -p /app/elasticsearch/logs
1.3 为文件夹赋权
chmod -R 777 /app/elasticsearch/
1.4 创建并启动容器
docker run --name elasticsearch --restart=always \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms56m -Xmx128m" \
-v /app/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /app/elasticsearch/data:/usr/share/elasticsearch/data \
-v /app/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /app/elasticsearch/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:7.12.1
1.5 参数解释
-e "discovery.type=single-node": 单节点运行
-e ES_JAVA_OPTS="-Xms64m -Xmx128m": 设初始内存64m 最大内存128m
–p: 映射宿主主机端口
-v: 挂载宿主目录到容器目录
-d: 后台运行容器
--restart=always: 开机启动
1.6 访问服务
使用 IP:9200 进行服务访问,如果出现如下界面,则配置成功
1.7 常见错误
1.7.1 docker启动容器错误:docker: Error response from daemon: OCI runtime create failed
创建时挂载目录时,将 elasticsearch.yml 创建成了目录(应该是文件),导致容器启动失败。
1.7.2 docker安装elasticsearch,无法访问curl (56) Recv failure Connection reset by peer
添上下面配置即可
echo "http.host: 0.0.0.0" >> /app/elasticsearch/conf/elasticsearch.yml
如果大家完全按照我的步骤执行是不会遇到这些错误的,但是怕大家漏掉步骤出错,找不到原因,所以还是将这两个比较常见的错误总结以西,具体原因就不再赘述,感兴趣的话,大家可以自己去查阅相关文章。
2 安装kibana
2.1 拉取镜像
docker pull kibana:7.12.1
2.2 创建并启动容器
docker run --name kibana --restart=always \
-e ELASTICSEARCH_HOSTS=http://ES的IP:9200 \
-p 5601:5601 -d kibana:7.12.1
2.3 参数解释
--name kibana: 指定容器的名称为kibana。
--restart=always: 开机启动
-e ELASTICSEARCH_HOSTS=http://ES的IP:9200: 设置Kibana连接的Elasticsearch的地址
-p 5601:5601: 将容器内部的5601端口映射到宿主机的5601端口,这样就可以通过http://localhost:5601/访问Kibana了。
-d: 指定容器在后台运行。
2.4 访问服务
使用 IP:5601 进行服务访问,如果出现如下界面,则配置成功
3 安装elasticsearch-analysis-ik
3.1 下载elasticsearch-analysis-ik
elasticsearch-analysis-ik 下载地址 下载对应版本即可,我下载的是7.12.1。
3.2 上传到服务器
我上传的目录是 /root/elasticsearch-analysis-ik-7.12.1.zip
3.3 复制到容器内部
docker cp /root/elasticsearch-analysis-ik-7.12.1.zip 容器ID:/usr/share/elasticsearch
3.4 进入容器
docker exec -it 容器ID /bin/bash
3.5 安装插件
elasticsearch-plugin install file:/usr/share/elasticsearch/elasticsearch-analysis-ik-7.12.1.zip
如下,便安装完成:
3.6 退出容器
exit
3.7 重启elasticsearch
docker restart 容器ID