Docker搭建Elasticsearch方法及启动后服务自动关闭的问题

Docker搭建Elasticsearch方法

前往dockerhub官网:dockerhub 可查看elasticsearch相应版本
Docker搭建Elasticsearch方法及启动后服务自动关闭的问题_第1张图片

拉取镜像

选取一个版本拉取镜像,如docker pull elasticsearch:6.8.8
不输入版本默认拉取最新版

启动容器

映射端口为9200和9300

docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:6.8.8

验证安装

通过docker ps查看已启动容器

输入http://ip地址:9200可以看到返回的json数据,证明安装成功

启动后服务自动关闭的问题

通过docker run命令启动容器后,docker会返回一串码代表成功启动,但是再通过docker ps查看已启动容器,发现elasticsearch并未启动成功
在这里插入图片描述
通过docker ps -a可以发现elasticsearch自动退出

查看容器异常日志

docker ps -a可以查看到刚退出的elasticsearch容器,复制容器id

通过docker logs -f 容器id查看日志,可以看到提示空间不足

jvm分配的内存大于系统可用内存数,所以没有足够的空间分配新空间了
Docker搭建Elasticsearch方法及启动后服务自动关闭的问题_第2张图片
需要前往jvm.options文件修改jvm启动参数

使用命令find / -name jvm.options找到jvm.options文件位置
在这里插入图片描述
通过vim 文件位置命令进入该文件

找到xms参数位置,将分配空间修改小一些,减小值到系统可用的值,如

-Xms512m
-Xmx512m

Docker搭建Elasticsearch方法及启动后服务自动关闭的问题_第3张图片

linux文件相关命令

vim进入文件,如vim /etc/conf/a.conf

shift + 键盘 ; 键,使文件进入可查询状态,输入 / + 查询内容,如/a.conf

键盘 i 键,让文件进入编辑状态,esc键退出编辑

保存修改:shift + 键盘 ; 键,然后输入wq!

不保存修改:shift + 键盘 ; 键,然后输入q!

有可能报max_map_count [65530] is too low之类的错误,需要重置max_map_count大小

sysctl -w vm.max_map_count=262144

查看max_map_count

sysctl -a|grep vm.max_map_count

然后重新启动容器


ps.

容器启动失败后,需要进入docker ps -a并记下容器id

然后通过docker rm 容器id删除当前容器,才可重新启动

pps.

如果是通过阿里云/腾讯云等云服务器的docker部署,千万不要忘记开放端口号!!!!!!!

你可能感兴趣的:(异常相关,docker,elasticsearch,linux)