- pull镜像
docker pull elasticsearch:7.17.18
- 目录和配置准备
新建映射目录
chmod -R 777 config data plugins
在config中创建elasticsearch.yml文件并写入配置
#注意: 后面的空格
http.host: 0.0.0.0
- run容器
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /home/docker-es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/docker-es/data:/usr/share/elasticsearch/data -v /home/docker-es/plugins:/usr/share/elasticsearch/plugins -v /home/docker-es/logs:/usr/share/elasticsearch/logs -d elasticsearch:7.17.18
#说明:
# 9200是用户交互端口 9300是集群心跳端口
# -e指定是单阶段运行
# -e指定占用的内存大小,生产时可以设置32G
查看启动日志
docker logs elasticsearch
# 设置开机启动
docker update elasticsearch --restart=always
- 测试
- 安装分词器
注意下载和images对应的版本
wget https://github.com/infinilabs/analysis-ik/archive/refs/tags/v7.17.18.zip
unzip -d ik v7.17.18.zip
这里一定要看好版本,好多个版本这里插件不一样,坑很多,最终如下,ik里面放的是v7.17.18.zip出来的所有文件
另外一种方法网络问题一直失败,不建议
docker exec -it 8f8f /bin/bash
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
- 测试
curl -H'Content-Type: application/json' -XGET http://192.168.44.3:9200/_analyze -d'{
"text":"我喜欢写代码",
"analyzer":"ik_smart"
}'
- 安装可视化工具
常见的ES可视化工具有 kibana,elasticsearch-head,ElasticHD,elasticview,这里我们使用elasticview
# docker 安装 elasticview 默认的初始账号密码分别是: admin 和 admin
docker run -d -p 8090:8090 kecikeci/elastic_view
dockerfile文件docker-compose.yam
version: '3.3'
services:
elasticview:
image: 'docker.m.daocloud.io/1340691923/elastic_view:latest'
container_name: esview
restart: unless-stopped
privileged: true
environment:
- TZ=Asia/Shanghai
ports:
- '8090:8090'
# elasticview的默认账号和密码分别是: admin 和 admin
# 启动命令:
# docker-compose -d up -f docker-compose.yaml
登录elasticview http://主机地址:8090
登录账号: admin
登录密码: admin