Docker安装Elasticsearch

439 阅读1分钟

一、设置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>