详细介绍了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图片,挂载目录后的错误处理就是我分享给大家的全部内容。期待给你一个参考,也期待你的申请。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)