一、设置max_map_count(解决ES不能启动)
查看max_map_count的值 默认是65530
cat /proc/sys/vm/max_map_count
重新设置max_map_count的值
sysctl -w vm.max_map_count=262144
二、查看可用的 elasticsearch版本
docker search elasticsearch
三、拉取elasticsearch 版本7.7.0镜像
docker pull elasticsearch:7.7.0
四、运行容器
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
五、浏览器访问 http://IP:9200, 是否安装成功
六、查看可用的 elasticsearch-head版本
docker search elasticsearch
七、拉取elasticsearch-head 版本5镜像
docker pull mobz/elasticsearch-head:5
八、运行容器
docker run --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
九、浏览器访问 http://IP:9100, 是否安装成功
十、修改Elasticsearch的elasticsearch.yml文件
进入容器
docker exec -it elasticsearch /bin/bash
编辑elasticsearch.yml
vi config/elasticsearch.yml
添加
http.cors.enabled: true http.cors.allow-origin: "*"
退出
exit
查看容器
docker ps
重启
docker restart <容器ID>
十一、ElasticSearch-head 操作时不修改配置,默认会报 406错误码
查看容器
docker ps
复制vendor.js到外部
docker cp <容器ID>:/usr/src/app/_site/vendor.js /home
编辑文件
vi vendor.js
修改文件内容
contentType: "application/x-www-form-urlencoded",改成contentType: "application/json;charset=UTF-8",var inspectData = s.contentType === "application/x-www-form-urlencoded" && ( typeof s.data === "string" );改成var inspectData = s.contentType === "application/json;charset=UTF-8" && ( typeof s.data === "string" );
修改完成在复制回容器
docker cp /home/vendor.js <容器ID>:/usr/src/app/_site
重启容器
docker restart <容器ID>