docker run single node elasticsearch
prepare config
/Users/lzq/docker/elasticsearch/es-single.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# custom config
node.name: "node-1"
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/
- 重点是 node.name 和 cluster.initial_master_nodes
cmd
#JAVA_OPTS='-Xmx512m'
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /Users/lzq/docker/elasticsearch/es-single.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/lzq/docker/elasticsearch/esdata-single:/usr/share/elasticsearch/data --name es-single elasticsearch:7.2.0
- 设置-e ES_JAVA_OPTS="-Xms256m -Xmx256m" 是因为/etc/elasticsearch/jvm.options 默认jvm最大最小内存是2G,读者启动容器后 可用docker stats命令查看
- -p是绑定端口,请保持9200:9200前后一致
- -v是做文件映射,当前主机的文件映射到docker内部
- --name是给容器设定一个名字,名字不能重复