腾讯云docker安装elasticsearch(docker 启动elasticsearch镜像,挂载目录后报错的解决)
腾讯云docker安装elasticsearch
docker 启动elasticsearch镜像,挂载目录后报错的解决从docker hub下载了一个es的镜像,版本为6.4.2,详细信息如下:
比较重要的就是这两条,第一个是工作目录,挂载目录也需要和这里对应;第二个是启动命令,这里是指定了一个预先写好的启动脚本。所以我启动了一个空容器去查看了下容器内的情况:
容器内部目录结构如上图,data是用来存放数据,logs用来存放日志。
接着查看下启动脚本
/usr/local/bin/docker-entrypoint.sh
前半部分我也是看的一知半解,不过真正和挂载目录相关的是最后这部分,这里处理了挂载目录后的操作,大致意思是:
如果是root用户(docker启动容器,默认是以root用户身份),并且 TAKE_FILE_OWNERSHIP 变量存在,则将/usr/share/elasticsearch/{data,logs},这两个目录都改变为1000用户所属(这里也可以看到最终存储数据的路径为data,所以挂载时应该挂载到data下)。
id为1000的用户:
正是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命令发现:
es并未启动起来。
于是又用docker ps -a命令:
发现启动终止了。
然后用docker logs -f <container id>命令查看es的启动日志:
拉到最下面:
长这样:
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 ps :
最后访问一波9200端口:
OJBK
以上这篇docker 启动elasticsearch镜像,挂载目录后报错的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
- dockerrun执行脚本(docker run和start的区别说明)
- docker怎么增加端口(docker 添加端口及获取dockerfile的方法)
- docker清理脚本(Docker 清理的常用方法及问题)
- dockernginx怎么设置容器(docker nginx + https 子域名配置详细教程)
- docker安装mysql后无法连接(Docker 安装 MySQL 并实现远程连接教程)
- docker容器启动执行脚本(在docker容器中使用非root用户执行脚本操作)
- docker停止删除所有容器方法(Docker stop停止/remove删除所有容器)
- docker容器启动失败怎么查找原因(解决docker容器启动后马上退出的问题)
- dockerfile自定义镜像图解(Docker images导出和导入操作)
- centos中docker安装部署(三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题)
- linuxrabbitmq安装和使用教程(用docker部署RabbitMQ环境的详细介绍)
- linux下python安装pip(在Docker中的ubuntu中安装Python3和Pip的问题)
- docker查看运行容器参数(Docker容器时区调整操作)
- docker管理脚本(Docker可视化ui管理工具Portainer安装及使用解析)
- docker镜像实例(Docker的镜像制作与整套项目一键打包部署的实现)
- docker网络通信(Google和Facebook不使用Docker的原理解析)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
- 越南没事(越南没事情做)
- 重庆旅游攻略(重庆旅游3-4天攻略最佳线路)
- 周杰伦演唱会门票(周杰伦演唱会门票多少钱一张2023)
热门推荐
- python自学编程笔记(Python 编程速成推荐)
- sqlserver带参数的存储过程(SQL Server 日期和时间的内部存储过程)
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- pythonpandas数据类型(Python3.5 Pandas模块之Series用法实例分析)
- rocketmq安装linux(docker安装rocketMQ教程最详细)
- ecs 云主机(如何解决ECS云主机无法访问其他内网主机和内网应用)
- python怎么去掉字符串的空格(Python切片操作去除字符串首尾的空格)
- js中的this与with关键字
- 企业网站服务器怎么选(企业网站服务器租用几个常见问题)
- html5导航栏怎么设计(html5 横向滑动导航栏的方法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9