- 拉取镜像
版本看你需要,我这里拉取的 7.6.2 版本
docker pull elasticsearch:7.6.2
- 创建挂载目录
#配置文件目录
mkdir -p /docker/elasticsearch/config
#数据目录
mkdir -p /docker/elasticsearch/data
#给目录授权
chmod 777 -R /docker/elasticsearch/
- 编辑配置文件
配置文件 es.yml
vim es.yml
#配置文件内容
cluster.name : elasticsearch-cluster
node.name : es-node06
network.bind_host : 0.0.0.0
network.publish_host : 192.168.50.106
http.port : 9200
transport.tcp.port : 9300
http.cors.enabled : true
http.cors.allow-origin : "*"
node.master : true
node.data : true
discovery.zen.ping.unicast.hosts : ["192.168.50.106:9300","192.168.50.107:9300","192.168.50.108:9300"]
discovery.zen.minimum_master_nodes : 1
cluster.initial_master_nodes : es-node06
#禁用机器学习,否则启动报错
xpack.ml.enabled: false
- 配置内存权限
sysctl -w vm.max_map_count=262144
- 创建容器
docker run --privileged=true -e ES_JAVA_OPTS="-Xms10g -Xmx10g" -d -p 9200:9200 -p 9300:9300 -v /docker/elasticsearch/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data --name es elasticsearch:7.6.2