# 制作集成ik中文分词器的elasticsearch镜像

> wandoubaba / 2024-10-29

## 说明

按照本文过程制作后的镜像不是跨平台的，在arm64平台制作的镜像只能用于arm64平台，在amd64平台制作的镜像只能用于amd64平台。

## 制作过程

本文要制作一个整合了`analysis-ik`分词器的`elasticsearch`服务镜像。

注意`analysis-ik`和`elasticsearch`的版本要保持一致，本文选择版本`7.17.18`。

拉取基础镜像：

```sh
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.18
```

启动容器：

```sh
docker run -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" --name=es docker.elastic.co/elasticsearch/elasticsearch:7.17.18
```

进入容器安装`analysis-ik`插件：

```sh
docker exec -it es bash
```

```sh
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
```

在容器内执行上面的命令后会自动下载并安装`elasticsearch-analysis-ik`插件（如果由于网络原因导致下载制作，请重试几次），下载后的问答请回答`y`。

安装成功后退出容器：

```sh
exit
```

导出镜像：

```sh
docker commit es <镜像名称>:<镜像tag>
```

## 一键启动

这个仓库已经利用本文制作的镜像实现了一个一键启动的服务。

<https://git.wandoubaba.com/wandoubaba/docker-elasticsearch-ik>