docker安装elasticsearch(VM下的Linux Centos7)
docker安装elasticsearch和head插件
- 设置max_map_count(包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量)不能启动elasticsearch会启动不起来。
//查看max_map_count的值,默认是65530
cat /proc/sys/vm/max_map_count
- 重新设置max_map_count的值
sysctl -w vm.max_map_count=262144
3.下载elasticsearch的镜像。
- 我们可以去官网上查看最新的版本是多少。
https://hub.docker.com/_/elasticsearch?tab=tags&page=1&ordering=last_updated
- 拉取镜像并启动
#拉取镜像
docker pull elasticsearch:7.12.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.12.0
- 参数说明
--name表示镜像启动后的容器名称 -
-d: 后台运行容器,并返回容器ID;
-e: 指定容器内的环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- 浏览器访问ip:9200 如果出现以下界面就是安装成功
安装成功!!!
- 安装elasticsearch-head插件
#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
or
docker start 容器id (docker ps -a 查看容器id )
浏览器打开: http://IP:9100
*尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。
docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)
- 这时候需要重启下elasticsearch容器 通过
#查看有哪些容器启动的命令
docker ps
#查看所有容器,包括没启动的容器命令
docker ps -a
启动容器
docker restart 容器Id
重启成功!!!再次连接成功!!!
- ElasticSearch-head 操作时不修改配置,默认会报 406错误码
#复制vendor.js到外部
docker cp fa85a4c478bf:/usr/src/app/_site/vendor.js /usr/local/
#修改vendor.js
vim vendor.js
- 修改完成在复制回容器
docker cp /usr/local/vendor.js fa85a4c478bf:/usr/src/app/_site
- 重启elasticsearch-head
docker restart 容器id
我自己澡的数据