最近想研究一下es,顺便记录一下步骤,有需要的小伙伴可以直接按步骤执行,因docker是容器化安装,所有安装启动非常方便、
下载es镜像,我采用的7.6.2版本,如果用最新的,后面不用加版本
docker pull elasticsearch:7.6.2
创建es容器 并启动 single-node单机
docker run -d --name es9200 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
用上面步骤启动容器,并在浏览器输入对IP:9200看看是否可以正常启动,如下图则代表正常
创建es的目录映射,因容器的创建和销毁非常方便,如果没有本地没有数据映射,一旦容器销毁,则数据就找不到了,具体步骤如下:
# 创建一个es目录
mkdir /www/es9200
# 拷贝docker里的数据文件
docker cp es9200 :/usr/share/elasticsearch/data /www/es9200
# 拷贝docker里的日志文件
docker cp es9200 :/usr/share/elasticsearch/logs /www/es9200
# 拷贝docker里配置文件
docker cp es9200 :/usr/share/elasticsearch/config /www/es9200
# 给es9200文件夹授权
chmod 777 -R /www/es9200
将刚才创建的容器停止并删除,再重新创建
# 停止es9200容器
docker stop es9200
# 移除
docker rm es9200
修改elasticsearch.yml配置文件
# 编辑elasticsearch.yml文件
vim /www/es9200/config/elasticsearch.yml
# 添加如下内容,防止 head访问es跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
创建新的容器,目录映射方式
docker run -d --name=es9200 --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /www/es9200/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /www/es9200/data:/usr/share/elasticsearch/data -v /www/es9200/logs:/usr/share/elasticsearch/logs elasticsearch:7.6.2
安装 elasticsearch-head插件
docker pull mobz/elasticsearch-head:5-alpine
启动elasticsearch-head插件
docker run -d --name=elasticsearch-head --restart=always -p 9100:9100 docker.io/mobz/elasticsearch-head:5-alpine
在浏览器里输入
192.168.11.XXX:9100