1 拉取镜像
docker pull mobz/elasticsearch-head:5
2 运行容器
docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
3 跨域问题解决,到es根目录下找到config/elasticsearch.yml,添加以下配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
4 解决406报错
# 若es目录下没有head文件夹则先在es目录下创建
mkdir /usr/local/eshead
# docker容器中的文件复制到你的宿主机目录
docker cp es-head容器ID:/usr/src/app/_site/vendor.js /usr/local/eshead
修改/usr/local/eshead/vendor.js
vim /home/docker/elasticsearch/head/vendor.js
# 修改文件第6886、7574行 用命令":set nu"显示行号,6886G 到6886行
将"application/x-www-from-urlencodes"修改为"application/json;charset=UTF-8" 【也可使用Mobaxterm的sftp功能直接打开服务器文件找到行位置直接修改保存】
j将修改好的文件复制到容器内
docker cp /usr/local/eshead/vendor.js es-head容器id:/usr/src/app/_site
重启es_head容器
docker restart es_head
访问es http://外网IP:9100/?auth_user=elastic&auth_password=123456
注意,到主页后也要用外网ip去连接9200端口