添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 运行命令创建启动容器:
docker run -d --name es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" elasticsearch:7.6.1

discovery.type=single-node:单机学习直接添加该参数,表示单节点运行,避免启动的时候es的引导检查会报错

  • 将配置文件、数据目录拷出来做挂载:
docker cp es:/usr/share/elasticsearch/config /usr/local/docker/elasticsearch/
docker cp es:/usr/share/elasticsearch/data/ /usr/local/docker/elasticsearch/
  • 设置允许跨域访问,否则后面安装elasticsearch-head连接不上
#进入配置文件目录
cd /usr/local/docker/elasticsearch/config
#修改elasticsearch.yml
vim elasticsearch.yml
#添加这2行
http.cors.enabled: true
http.cors.allow-origin: "*"
  • 销毁容器,重新以挂载方式运行:
docker rm -f es #挂载配置文件 docker run -d --name es -p 9200:9200 -p 9300:9300 \ -v /usr/local/docker/elasticsearch/config/:/usr/share/elasticsearch/config/ \ -v /usr/local/docker/elasticsearch/data/:/usr/share/elasticsearch/data/ \ -e "discovery.type=single-node" \ elasticsearch:7.6.1

安装elasticsearch-head

docker pull mobz/elasticsearch-head:5
docker run -d --name es-head -p 9100:9100 \
mobz/elasticsearch-head:5

打开浏览器9100地址,默认连接的是localhost:9200,如果es装在其他服务器,把localhost换成对应的IP即可,但是这样每次都要修改IP,可以采用如下方式设置。

拷出容器的app.js、vendor.js,待会有用
docker cp es-head:/usr/src/app/_site/app.js /usr/local/docker/elasticsearch-head/
docker cp es-head:/usr/src/app/_site/vendor.js /usr/local/docker/elasticsearch-head/
  • 修改app.js
把默认连接地址localhost改成对应的IP
cd /usr/local/docker/elasticsearch-head/
vim app.js
  • 修改vendor.js(es-head 5和高版本es不兼容,查询会报HTTP 406状态码错误,这边修改下contentType即可解决)
#搜索application/x-www-form-urlencoded,改成application/json;charset=UTF-8
#总的有2个地方
vim vendor.js
  • 销毁容器重新运行
# 销毁容器
docker rm -f es-head
#重新运行容器
docker run -d --name es-head -p 9100:9100 \
-v /usr/local/docker/elasticsearch-head/app.js:/usr/src/app/_site/app.js \
-v /usr/local/docker/elasticsearch-head/vendor.js:/usr/src/app/_site/vendor.js \
mobz/elasticsearch-head:5

直接在docker安装vim工具,对js编辑也可以,我这边网络问题装不上,所以采用挂载