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

docker hub下载了一个es的镜像,版本为6.4.2,详细信息如下:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-猿站网-插图

比较重要的就是这两条,第一个是工作目录挂载目录也需要和这里对应;第二个是启动命令,这里是指定了一个预先写好的启动脚本。所以我启动了一个空容器去查看了下容器内的情况:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-1猿站网-插图

容器内部目录结构如上图,data是用来存放数据,logs用来存放日志。

接着查看下启动脚本

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

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-2猿站网-插图

前半部分我也是看的一知半解,不过真正和挂载目录相关的是最后这部分,这里处理了挂载目录后的操作,大致意思是:

如果是root用户(docker启动容器,默认是以root用户身份),并且 TAKE_FILE_OWNERSHIP 变量存在,则将/usr/share/elasticsearch/{data,logs},这两个目录都改变为1000用户所属(这里也可以看到最终存储数据的路径为data,所以挂载时应该挂载到data下)。

id为1000的用户:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-3猿站网-插图

正是elasticsearch用户,所以如果不挂载任何目录直接启动容器即可,如果挂载,那么就添加一个变量,任意赋值,es可以正常启动。

docker run -itd -v /root/es-data/:/usr/share/elasticsearch/data -e TAKE_FILE_OWNERSHIP=111 -p 9200:9200 –name es elasticsearch:6.4.2

补充知识:记一次docker安装elasticsearch及遇到的坑

先给一行命令

docker run -d -p 9200:9200 -p 9300:9300 -e “ES_JAVA_OPTS=-Xms512m -Xmx512m” –name=<your es name> elasticsearch:<es version>

使用该命令可直接安装并运行es的docker 镜像容器

问题

使用命令docker run -d -p 9200:9200 -p 9300:9300 –name=<your es name> elasticsearch:<es version>启动, 然后想看是否启动起来了,于是使用docker ps命令发现:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-4猿站网-插图

es并未启动起来。

于是又用docker ps -a命令:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-5猿站网-插图

发现启动终止了。

然后用docker logs -f <container id>命令查看es的启动日志:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-6猿站网-插图

拉到最下面:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-7猿站网-插图

长这样:

?
1
2
3
4
5
6
7
8
power management:
Memory: 4k page, physical 1882892k(89076k free), swap 0k(0k free)
vm_info: OpenJDK 64-Bit Server VM (25.181-b13) for linux-amd64 JRE (1.8.0_181-8u181-b13-2~deb9u1-b13), built on Oct 22 2018 18:05:23 by “pbuilder” with gcc 6.3.0 20170516
time: Fri Nov 23 07:00:34 2018
elapsed time: 0 seconds (0d 0h 0m 0s)

于是复制报错信息Google一波,发现问题所在。elasticsearch5.+配置默认的内存是2g。我给docker的内存也只有2g,于是就GG了。

删除了旧容器,和旧镜像后,在docker启动命令中加上-e “ES_JAVA_OPTS=-Xms512m -Xmx512m”解决问题

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-8猿站网-插图

docker ps :

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-9猿站网-插图

最后访问一波9200端口:

%小知识:docker 启动elasticsearch镜像,挂载目录后报错的解决-10猿站网-插图

OJBK

以上这篇docker 启动elasticsearch镜像,挂载目录后报错的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_39314099/article/details/105532460

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker版es、milvus、minio启动命令详解

2023-3-26 13:58:06

建站知识

小知识:docker实现重新打tag并删除原tag的镜像

2023-3-26 14:12:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索