1. 拉取镜像
docker pull elasticsearch:7.5.1
2. 创建文件挂载目录
mkdir /root/ES/config/
mkdir /root/ES/data/
chmod 777 /root/ES/data
3. 创建配置文件
vi /root/ES/config/es.yml
cluster.name: elasticsearch-cluster
node.name: master
network.host: 0.0.0.0
network.publish_host: 192.168.2.124 #本机ip
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.seed_hosts: ["192.168.2.124:9300"] #所有主从节点ip:port
cluster.initial_master_nodes: ["master"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
4. 创建并启动es容器
docker run -e ES_JAVA_OPTS="-Xms2g-Xms2g" -d -p 9200:9200 -p 9300:9300 -v /root/ES/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/ES/data:/usr/share/elasticsearch/data --name ES 2bd69c322e98
5. 验证安装成功
6. 进入容器内设置密码
docker exec -it ES bash
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
# 依次输入密码按回车键确认
# 重启容器
docker restart ES
问题
报错:max virtual memory areas vm.max_map_count [65530] is too low
解决:
编辑 vi /etc/sysctl.conf
添加 一行 vm.max_map_count=655360
加载参数 sysctl -p
重启 dockerr start esmaster