1、使用docker官方镜像
docker pull elasticsearch:7.6.2
下载镜像如果太慢,可以使用阿里云镜像加速
https://cr.console.aliyun.com/cn-qingdao/instances/mirrors
docker run -d --name es -p 9200:9200 -p 9300:9300 -e 'discovery.type=single-node' -v /usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml -e http.cors.enabled=true -e http.cors.allow-origin='*' -e http.cors.allow-headers=X-requestd=With,X-AuthToken,Content-Type,Content-Length,Authorization -e http.cors.allow-credentials=true -e xpack.security.enabled=true elasticsearch:7.6.2
-
xpack.security.enabled=true 为开启安全验证
-
如果加上可以忽略开启密码验证环节(设置密码还是看一下吧)
-
低版本的ES 可能不支持xpack
运行之后会出现容器id
这一步其实就可以访问了,输入IP:9200
但是不难发现,这里其实有个问题,默认没有密码的(玩过Redis应该知道Redis也一样)
设置密码:
1、进入容器 docker exec -it es /bin/bash
2、打开elasticsearch.yml文件
vi /usr/share/elasticsearch/config/elasticsearch.yml
设置 xpack.security.enabled: true
退出容器
重启容器。
可以用实时日志查看启动状态
这时再访问一下
这里默认账号密码为:
elastic changeme(这里有个坑,网上都说是这信息,为啥我进不去 - -)
当然可以设置自己想要的密码:
1、进入容器
docker exec -it es /bin/bash
2、键入
elasticsearch-setup-passwords interactive
这里会让你设置elk等相关的密码,输入到底。
3、再回到访问页面,测试账号密码
4、成功访问。
注: 其实安装过程坑很多,可能不同环境下同学们会碰见不同的问题,这里可以参考大佬的文章