docker 安装单体es

ES单体 docker安装

docker hub 网站查询elasticsearch最新版本

image
image

开始拉取镜像

# 拉取版本号为7.14.0的elasticsearch镜像
docker pull elasticsearch:7.14.0
# 查看所有镜像
docker images
# 查看 匹配正则表达式为 elastic* 的镜像
docker images | grep elastic*
# 删除版本号为7.14.0的elasticsearch镜像
docker rmi elasticsearch:7.14.0

开始安装单体elasticsearch

暂时不知道容器内需要挂载哪些文件,先以通用配置启动

# 注意以下环境指定全是小写
# -d:指定后台运行
# -p:指定端口映射   宿主机端口:容器端口
# -e:指定运行环境
docker run -d --name es -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch:7.14.0

验证容器是否启动成功、进入容器内确认需要挂载哪些文件夹

# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps -a
# 查看容器日志 docker logs 容器id/容器名
docker logs es
# 进入容器
docker exec -it es /bin/bash
# 查看当前目录组成
ls

image

清晰明了,一眼就能看出来。直接就能确定 config、data、logs、plugins是需要我们外置的,因为我们后续肯定会对这些文件进行查找、修改操作。
现在我们关闭已经运行的容器,重新以配置了文件夹挂载的指令启动容器
这里需要注意的是这个文件容器内位置并不是 /config 而是 /usr/share/elasticsearch/config
还有指定外置挂载文件启动容器需要先有容器启动需要的文件才行,所以我们从容器内复制文件出来

# 在宿主机创建挂载到容器的文件夹,可根据自己的软件安装风格决定文件夹地址
mkdir -p /data/elasticsearch/config /data/elasticsearch/data /data/elasticsearch/logs /data/elasticsearch/plugins
cd /data/elasticsearch/ && ls
# 复制需要外挂的容器文件夹
docker cp es:/usr/share/elasticsearch/config /data/elasticsearch/
docker cp es:/usr/share/elasticsearch/data /data/elasticsearch
docker cp es:/usr/share/elasticsearch/plugins /data/elasticsearch
docker cp es:/usr/share/elasticsearch/logs /data/elasticsearch
# 停止容器
docker stop es
# 重命名容器
docker rename es es_old
# 原来的脚本加上文件夹挂载配置,启动新容器
# -v:指定文件夹挂载   宿主机文件夹:容器文件夹
docker run -d --name es 
-p 9200:9200 -p 9300:9300 
-e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
-v /data/elasticsearch/config:/usr/share/elasticsearch/config 
-v /data/elasticsearch/data:/usr/share/elasticsearch/data 
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs 
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins 
elasticsearch:7.14.0
# 查看容器是否启动成功
docker ps
docker logs es

通过外挂的文件夹安装ik分词器

找到对应版本压缩包下载,然后在外置的插件目录下建个文件夹ik,塞进去解压,删掉压缩包。重启es。
image
image

# 进入插件文件夹
cd /data/elasticsearch/plugins
# 创建文件夹并进入
mkdir ik && cd ik
# 下载分词器
curl -O https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.0/elasticsearch-analysis-ik-7.14.0.zip
# 解压分词器
unzip elasticsearch-analysis-ik-7.14.0.zip
# 删除压缩包
rm elasticsearch-analysis-ik-7.14.0.zip
# 重启es
docker restart es
# 查看ik分词器是否成功安装
docker logs es | grep load

image

以宿主机ip端口访问

image

原文地址:https://www.cnblogs.com/jiangdewen/p/15117716.html