docker安装elasticsearch
·
docker安装elasticsearch
一、下载和准备工作
(1)拉取镜像
//拉取elasticsearch镜像
docker pull elasticsearch:8.19.20
//拉取kibana镜像
//Kibana 是 Elasticsearch(ES)的图形化操作界面
//Kibana和elasticsearch版本要相同
docker pull kibana:8.19.20
(2)创建目录
mkdir -p /data/elasticsearch/{data,plugins,log}
//赋予权限,启动失败,可以查看es的id修改,
//嫌麻烦直接执行2,权限改为777
sudo chown -R 1000:1000 /data/elasticsearch/data /data/elasticsearch/log /data/elasticsearch/plugins
sudo chmod -R 755 /data/elasticsearch/{data,log,plugins}
二、docker启动es
(1)创建网络
//创建网络
docker network create es-net
启动es
docker run -d \
--name elasticsearch \
--restart=unless-stopped \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
-e "xpack.security.enabled=false" \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/log:/usr/share/elasticsearch/log \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:8.19.20
测试在浏览器输入http://ip:9200/,有返回es相关信息就可以
{
"name" : "12b819af6d86",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "m0bwX3WuSraVzROBdlIS1A",
"version" : {
"number" : "8.19.20",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "91f5381ece296ddc32b554f997269478b9224af8",
"build_date" : "2026-08-05T22:14:37.858379356Z",
"build_snapshot" : false,
"lucene_version" : "9.12.2",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
(2)启动
//修改为中文
docker run -d \
--name kibana \
--restart=unless-stopped \
--network es-net \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \
-e "I18N_LOCALE=zh-CN" \
kibana:8.19.20
测试浏览器输入http://ip:5601,可以看到界面就可以了。
三、使用docker compose安装
创建文件
//创建目录
mkdir -p /compose/elasticsearch
//创建配置文件
touch /compose/elasticsearc/compose.yaml
在/compose/elasticsearc/compose.yaml中编写
version: '3.8'
services:
# Elasticsearch 服务
elasticsearch:
image: elasticsearch:8.19.20
container_name: elasticsearch
restart: unless-stopped
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms1g -Xmx1g
- xpack.security.enabled=false
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /data/elasticsearch/data:/usr/share/elasticsearch/data
- /data/elasticsearch/log:/usr/share/elasticsearch/log
- /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins
networks:
- es-net
# Kibana 服务
kibana:
image: kibana:8.19.20
container_name: kibana
restart: unless-stopped
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- I18N_LOCALE=zh-CN
ports:
- "5601:5601"
networks:
- es-net
# 确保 Kibana 在 Elasticsearch 之后启动
depends_on:
- elasticsearch
# 定义网络
networks:
es-net:
driver: bridge
# 定义网络
networks:
es-net:
driver: bridge
运行
//进入目录
cd /compose/elasticsearch
//运行
docker compose up -d
四、添加分词器
docker exec -it elasticsearch /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.19.20/elasticsearch-analysis-ik-8.19.20.zip
下载失败可以https://release.infinilabs.com/analysis-ik/stable/去下载对应的包,复制到插件目录下

//将 elasticsearch-analysis-ik-8.19.20.zip 压缩包的内容,解压到当前目录下的 analysis-ik 文件夹中
//解压完成后,删除原始的 .zip 压缩包,保持目录整洁
docker run --rm -v /data/elasticsearch/plugins:/plugins alpine \
sh -c "apk add unzip && cd /plugins && unzip -d analysis-ik elasticsearch-analysis-ik-8.19.20.zip && rm elasticsearch-analysis-ik-8.19.20.zip"
检验是否安装成功
docker exec -it elasticsearch /bin/bash -c "elasticsearch-plugin list"
更多推荐
所有评论(0)