1. 创建网络
因为需要部署kibana容器,因此需要让es和kibana容器互联。
docker network create es-net
结果
(base) ➜ ~ docker network create es-net
8c1441aa54060c5318bdcb40683735fcaec1022dc8daa3523f8814f829378e53
2. 拉取elasticsearch镜像
去Docker Hub查询最新(或者想要的镜像)版本
拉取es镜像
- es镜像最新版本8.10.2,但是安装ik分词器时错误
- 查看ik分词器,最新版本为8.9.0,因为ik分词器需要跟es版本对应,所以拉取8.9.0版本的es
docker pull elasticsearch:8.9.0
- 使用
docker pull elasticsearch会报manifest for elasticsearch:latest not found: manifest unknown: manifest unknown,必须指定版本 结果
(base) ➜ ~ docker pull elasticsearch:8.9.0
8.10.2: Pulling from library/elasticsearch
edab87ea811e: Pull complete
47f8802f612d: Pull complete
fc0343a1851d: Pull complete
4f4fb700ef54: Pull complete
32130303ef74: Pull complete
eb37481f72ca: Pull complete
4a6f3de1727f: Pull complete
bd1d7e976113: Pull complete
e863819dd2a3: Pull complete
eabbd90021b4: Pull complete
Digest: sha256:53efb4ba72e1c71c8223ee8d8de6537e8d992ad6cc8fcdf5dd944be93b6ab814
Status: Downloaded newer image for elasticsearch:8.9.0
docker.io/library/elasticsearch:8.9.0
3. 创建挂载目录
mkdir -p ~/mydata/es/data ~/mydata/es/config ~/mydata/es/plugins
chmod 777 ~/mydata/es/data
chmod 777 ~/mydata/es/config
chmod 777 ~/mydata/es/plugins
4. 部署单点es,创建es容器
docker run -d --restart=always --name es --network es-net -p 9200:9200 -p 9300:9300 --privileged -v ~/mydata/es/data:/usr/share/elasticsearch/data -v ~/mydata/es/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch:8.9.0
- 容器名为es
- 将data,plugins目录挂载出来
进入es容器,修改es配置
# 进入es容器
docker exec es -it /bin/bash
# 跳转到config目录下
cd config
# 关闭密码安全验证
echo 'xpack.security.enabled: false' >> elasticsearch.yml
# 退出容器
exit
# 重启es容器
docker restart es
浏览器访问es
http://127.0.0.1:9200/
5. 基于Docker安装Kibana
docker pull kibana:8.10.2
6. 创建kibana挂载目录
mkdir -p ~/mydata/kibana/data ~/mydata/kibana/config
chmod 777 ~/mydata/kibana/data
chmod 777 ~/mydata/kibana/config
7. 部署kibana,创建kibana容器
docker run -d --restart=always --name kibana --network es-net -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://es:9200 kibana:8.9.0
浏览器访问kibana
http://127.0.0.1:5601/
8. 安装IK分词器
#进入es容器内部
docker exec -it es /bin/bash
# 安装ik分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.9.0/elasticsearch-analysis-ik-8.9.0.zip
- 去github-ik查看最新版本 安装成功信息
elasticsearch@fdc0a2c94f3c:~$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.9.0/elasticsearch-analysis-ik-8.9.0.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.9.0/elasticsearch-analysis-ik-8.9.0.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.9.0/elasticsearch-analysis-ik-8.9.0.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]y
-> Installed analysis-ik
-> Please restart Elasticsearch to activate any plugins installed