镜像拉取
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.4
开发者模式启动elasticsearch
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d docker.elastic.co/elasticsearch/elasticsearch:6.8.4
指定参数运行
docker run -p 9200:9200 -p 9300:9300 --ulimit nofile=65535:65535 --ulimit memlock=-1:-1 -e "bootstrap.memory_lock=true" -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -v /data1/docker_elk/elasticsearch/data/:/usr/share/elasticsearch/data -v /data1/docker_elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data1/docker_elk/elasticsearch/logs/:/usr/share/elasticsearch/logs -d docker.elastic.co/elasticsearch/elasticsearch:6.8.4
- -p :映射端口
- --ulimit : 设置系统参数
- -e bootstrap.memory_lock=true : 锁定内存
- -e ES_JAVA_OPTS="-Xms1g -Xmx1g" : 设置占用JVM内存
- -v :挂载目录,这里挂载2个目录和一个配置文件
- -d : 后台启动
编辑elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
#设置支持http跨域请求操作
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
# 为elasticsearch增加自动创建索引功能
action.auto_create_index: .security,.security-6,.monitoring*,.watches,.triggered_watches,.watcher-history*,app-a-*,app-b-*,.ml*,logstash-*
执行sh脚本
#!/bin/bash
data="/data1/docker_elk/elasticsearch/data/"
logs="/data1/docker_elk/elasticsearch/logs/"
# 授权目录,必须授权,要不启动报错
chmod 777 $data
chmod 777 $logs
docker_name=elasticsearch
docker stop $docker_name
docker rm $docker_name
docker run -