docker 启动elasticsearch镜像,挂载目录后报错的解决

docker 启动elasticsearch镜像,挂载目录后报错的解决,第1张

docker启动elasticsearch镜像,挂载目录后报错的解决

详细介绍了docker启动elasticsearch镜像并挂载目录后的错误处理,具有很好的实用价值,希望对大家有所帮助。跟我回去看看。

es的一个镜像是从dockerhub安装的,版本号是6.4.2。详情如下:

关键是这两个。第一个是工作目录,挂载目录在这里必须匹配。第二个是启动指令。下面是提前写好的具体启动脚本。所以我启动了一个空容器来查询以下容器中的状态:

容器的内部目录结构如图所示,数据用来访问数据,日志用来存储日志。

然后开始查询下的脚本制作

/usr/local/bin/docker-entrypoint.sh

我对前半部分了解不多,但真正与安装目录相关的是最后一部分。这里解决了挂载目录后的实际 *** 作,大概意思是:

如果是root客户(docker启动容器,默认设置为root客户真实身份),并且存在TAKE_FILE_OWNERSHIP参数,将/usr/share/elasticsearch/{data,logs}改为1000客户隶属关系(这里也可以看到最后存储数据信息的方式是data,所以挂载时要挂载在data下)。

ID为1000的客户:

它也是elasticsearch的客户,所以如果你没有挂载所有目录,你可以立即启动容器。如果有,可以加一个自变量,任意取值,es可以正常启动一切。

dockerrun-itd-v/root/es-data/:/usr/share/elasticsearch/data-eTAKE_FILE_OWNERSHIP=111-p9200:9200-nameeselasticsearch:6.4.2

填写专业知识:还记得有一次docker装了elasticsearch和它遇到的坑吗

先给出一行说明。

dockerrun-d-p9200:9200-p9300:9300-e"ES_JAVA_OPTS=-xms512m-xmx512m"-name=<;您的es名称>elasticsearch:<;es版本>

使用这个命令立即安装和 *** 作es的docker镜像容器。

难题[/s2/]

应用程序指令dockerrun-d-p9200:9200-p9300:9300-name=

Es还没有开始。

因此,再次使用dockerps-a命令:

我发现启动停止了。

然后使用dockerlogs-f

拖到底部:

长这样:

powermanagement: Memory:4kpage,physical1882892m(89078kfree),swap5k(5kfree) vm_info:OpenJDK64-BitServerVM(25.181-b13)forlinux-amd64JRE(1.8.0_181-8u181-b13-2~deb9u1-b13),builtonOct22201818:05:23by"pbuilder"withgcc6.3.020170516 time:FriNov2307:00:342018 elapsedtime:0seconds(0d0h0M0s)

因此,抄袭错误信息内容的谷歌一波,发现了存在的问题。d性研究5。默认设置下的运行内存为3g。我对docker的运行内存只有3g,所以是GG。

删除旧容器和旧镜像后,在docker启动指令中添加-e“es_Java_opts=-xms512m-xmx512m”即可解决问题。

dockerps:

最后浏览一波9200端口号:

完全赞同

docker启动上面的elasticsearch图片,挂载目录后的错误处理就是我分享给大家的全部内容。期待给你一个参考,也期待你的申请。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/774133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存