腾讯云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镜像,挂载目录后报错的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
- docker配置和管理(Docker 容器监控原理及 cAdvisor的安装与使用说明)
- docker垃圾清理(docker磁盘空间清理的解决办法)
- docker修改镜像配置文件(Docker配置本地镜像与容器的存储位置)
- docker查找redis配置文件(解决docker重启redis,mysql数据丢失的问题)
- docker容器基础入门认知网络篇(Docker 容器生命周期 架构 以及和VM之间的差异详解)
- docker-compose 原理(详解docker compose 用法)
- 查看docker运行状态命令(使用docker命令不需要敲sudo的操作)
- dockerexec参数详解(docker安装pxc集群的详细教程)
- dockerrun执行脚本(docker run和start的区别说明)
- 如何使用docker启动tomcat(Docker容器上用DockerFile部署多个tomcat服务的步骤)
- dockerpull的镜像位置(解决docker pull镜像报错的问题)
- dockerswarm 均衡策略(以示例讲解Clickhouse Docker集群部署以及配置)
- 用docker搭建在线开发平台(docker部署蜗牛影院系统详细流程分析)
- docker容器是怎么进行通信的(Docker容器间通信与外网通信的操作)
- docker容器关闭后怎么启动(docker批量启动关闭所有容器的操作)
- dockervolume文件权限(docker volumes 文件映射方式)
- 做技术难吗(技术难不难)
- 林心如是谁(林心如是谁演的)
- 泰国安全吗(泰国安全吗2023)
- 菲律宾安全吗(菲律宾安全吗)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 数字藏品市场有多乱 周杰伦丢了 一只猴 ,损失超300万(数字藏品市场有多乱)
热门推荐
- pandas如何删除索引列(pandas DataFrame 删除重复的行的实现方法)
- python关闭程序强制退出线程(python多线程调用exit无法退出的解决方法)
- web前端字体和图标(web字体加载方案优化小结)
- vue官网编辑器主题(vue实现主题切换的多种思路分享)
- goweb框架哪个用的最多(教你搭建一个简单的Go Web服务器)
- linux看系统内存大小(Linux体检,了解你的Linux状态网络IO,磁盘,CPU,内存)
- dedecms自定义字段(详解怎么样让DEDECMS的list标签支持weight排序的方法)
- mysqlint后面的4是什么意思(MySQL中intn后面的n到底代表的是什么意思)
- 阿里云主机Windows 2008 32位 64位自助正版激活图文教程(阿里云主机Windows 2008 32位 64位自助正版激活图文教程)
- 阿里云服务器ecs入口(阿里云ECS云服务器更换公网IP的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9