docker安装ES kibana ik

Step 1. 创建 Docker 网络

1
docker network create elastic-network

Step 2. 创建Docker Compose 文件

在一个目录下创建一个名为 docker-compose.yml 的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
version: '3'
services:
elasticsearch:
image: elasticsearch:7.17.0
container_name: elasticsearch
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- cluster.name=docker-cluster
- node.name=node-1
- network.host=0.0.0.0
- http.host=0.0.0.0
- xpack.security.enabled=false
ports:
- "9200:9200"
- "9300:9300"
networks:
- elastic-network
volumes:
- es-data:/usr/share/elasticsearch/data
- ./plugins/ik:/usr/share/elasticsearch/plugins/ik # 挂载IK分词器

kibana:
image: kibana:7.17.0
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
networks:
- elastic-network

volumes:
es-data:
driver: local

networks:
elastic-network:
driver: bridge

Step 3. 下载IK分词器插件文件

GitHub链接

注意:IK分词器的版本号必须和ES一致,讲下载的压缩包解压后放在 /plugins/ik 目录下

Step 4. 启动 Docker Compose

docker-compose.yml 文件所在的目录中运行以下命令启动容器:

1
docker-compose up -d

Step 5. 验证

  • 访问 http://localhost:9200 检查Elasticsearch是否正在运行。
  • 访问 http://localhost:5601 检查Kibana是否正在运行。
  • 验证IK分词器:在IK分词器所在的Elasticsearch容器中测试分词功能。

通过这种方式,Elasticsearch、Kibana和IK分词器都运行在同一个自定义Docker网络 elastic-network 中,可以相互通信。