使用docker怎么样启动elasticsearch镜像-创新互联-成都快上网建站

使用docker怎么样启动elasticsearch镜像-创新互联

使用docker 怎么样启动elasticsearch镜像?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为石屏企业提供专业的网站建设、做网站石屏网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

详细信息如下:

使用docker 怎么样启动elasticsearch镜像

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

使用docker 怎么样启动elasticsearch镜像

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

接着查看下启动脚本

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

使用docker 怎么样启动elasticsearch镜像

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

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

id为1000的用户:

使用docker 怎么样启动elasticsearch镜像

正是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= elasticsearch:

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

问题

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

使用docker 怎么样启动elasticsearch镜像

es并未启动起来。

于是又用docker ps -a命令:

使用docker 怎么样启动elasticsearch镜像

发现启动终止了。

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

使用docker 怎么样启动elasticsearch镜像

拉到最下面:

使用docker 怎么样启动elasticsearch镜像

长这样:

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)

当前标题:使用docker怎么样启动elasticsearch镜像-创新互联
网页地址:http://kswjz.com/article/dcoess.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流