Docker 安装 ElasticSearch
1.使用 docker search elasticsearch命令来查看可用版本
docker search elasticsearch
2.拉取elasticsearch 镜像
docker pull elasticsearch:6.5.0
3.查看镜像
docker images
4.运行容器
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9200:9200 -p 9300:9300 elasticsearch:6.5.0
5.验证是否安装成功
docker ps
查看所有容器
docker ps -a
在很短的时间内,es就停止了运行,查看日志上网查询资料分析情况得出:由于ES是运行在JVM上,JVM本身除了分配的heap内存以外,还会用到一些堆外(off heap)内存。 在小内存的机器上跑ES,如果heap划分过多,累加上堆外内存后,总的JVM使用内存量可能超过物理内存限制。 如果swap又是关闭的情况下,就会被操作系统oom killer杀掉。解决:修改ES中config目录下的jvm.options文件,将 -Xms1g -Xmx1g 改为 -Xms64m -Xmx128m。
通过 find /var/lib/docker/ -name jvm.options 查找 elasticSearch的配置路径:
find /var/lib/docker/ -name jvm.options
查看配置,用docker 安装的elasticsearch 6.5版本默认堆内存最大设置的1G
将 -Xms1g -Xmx1g 改为 -Xms64m -Xmx128m。
docker 启动elasticsearch
docker run --name es -e ES_JAVA_POTS="-Xmx128m -Xms64m" -e "discovery.type=single-node" -p 9200:9200 -d elasticsearch:6.5.0
6.安装成功
通过127.0.0.1:9200测试es服务:
elasticsearch安装成功。