Docker教程大全(四):删除重新安装Elasticsearch:7.6.2,注意与SpringBoot版本兼容问题

为啥要重装,我简直了,本来装好了6.8.6版本,结果更新了IDEA2020.1版本后,新建项目springboot最新版本为2.3.0,结果引入Elasticsearch后发现从这个springboot2.3.0版本后,已经没有Jest方式操作es支持,只能选择RestClient操作方式,而且默认支持的Elasticsearch版本是7.6.2

所以重装一下

1.关闭Elasticsearch容器运行状态

[[email protected] ~]# docker stop ce72e0f7a466(这里是容器ID,不是镜像ID)

2. 删除Elasticsearch:6.8.6版本容器:

[[email protected] ~]# docker rm ce72e0f7a466(这里是容器ID,不是镜像ID)

3. 删除Elasticsearch:6.8.6版本镜像

[[email protected] ~]# docker rmi de67jok87ils  (镜像ID)

4.下载7.6.2版本Elasticsearch

[[email protected] ~]# docker pull elasticsearch:7.6.2

5.启动镜像

[[email protected] ~]# docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 --name MyES001 c8b4938e5db2

由于我是本地虚拟机安装,为了节省内存限制了es内存大小: -e ES_JAVA_OPTS="-Xms512m -Xmx512m",如果是在服务器上,可以不考虑这个因素,直接docker run -d -p 9200:9200 -p 9300:9300 --name MyES001 c8b4938e5db2

MyES001 是我自定义的ES名称,c8b4938e5db2是镜像IMAGE ID

4.查看运行状态

[[email protected] ~]# docker ps -a

5.测试,在浏览器输入:http://服务器ip地址:9200,显示es版本等信息,证明es安装且启动正常。

                                                                                                                                                                                                           

问题解决:

这里在启动的时候,我遇到了启动失败,查看容器日志,

[[email protected] ~]# docker logs 24a168ae72c6(容器id)

日志中有报:

ERROR: [1] bootstrap checks failed [1]: the default discovery settings are unsuitable for production

解决办法:修改elasticsearch的yml配置文件

[[email protected] ~]# find / -name elasticsearch.yml

根据查到的路径,

修改其yml文件

在文件中添加

node.name: node-1
cluster.initial_master_nodes: [“node-1”]