windows版本的docker安装es和es插件
1.1 安装es
- 去docker官网下载es,网址
https://www.docker.com/products/docker-hub
-- 所有官方镜像地址
https://hub.docker.com/search?image_filter=official&type=image
- 下载
docker pull elasticsearch:7.5.1
ps:若是下载最新版本,不需要添加 :7.5.1(版本号)
- 下载完成,制作镜像
docekr run -di --name=myes -p 9200:9200 -p 9300:9300 elasticsearch (elasticsearch:7.5.1 不是最新版,需要添加版本号)
- 启动容器
docker start myes(myes为容器名称)
- 访问地址 es。
http://localhost:9100/
-
有两种情况:
-
- 访问成功。
-
- 访问不成功,
-
-
- 不成功的原因:远程连接没有开启。
-
- 解决方案:
修改es容器的配置文件,但在docker中,没有vi 命令,需要将容器中的es 的配置文件copy到本地。
- 解决方案:
-
-
- copy到本地
-
docker cp myes:/usr/share/elasticsearch/config/elasticsearch.yml D:/elasticsearch.ymldocker
cp 容器名称:/usr/share/elasticsearch/config/elasticsearch.yml 本地存放的位置
- 修改配置文件
cluster.name: "docker-cluster"
network.host: 0.0.0.0
transport.host: 0.0.0.0
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"
- 保存。将之前的容器停掉,删除
docker stop myes
docker rm myes
- 重新创建容器
docker run -di --name=myes -p 9200:9200 -p 9300:9300 -v D:/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.5.1
-
- 如果报错:
docker: Error response from daemon: status code not OK but 500: …
-
- 原因:没有开启共享,本地文件无法上传到docker
-
- 解决:
- 解决:
-
在次创建,成功!!
-
访问地址,成功!
1.2 es插件安装
先去docker官网查询es插件
https://hub.docker.com/r/mobz/elasticsearch-head/tags
下载
docker pull mobz/elasticsearch-head:5
制作容器
docker run -di --name=myhead -p 9100:9100 mobz/elasticsearch-head:5
访问地址:
http://localhost:9100/
比windows10快多了…
问题:启动es插件后,放入数据,“数据浏览”里面不显示数据
解决:
将es-head容器的 vendor.js 文件拷到本地
docker cp myhead:/usr/src/app/_site/vendor.js D:/docker/copy(本地文件位置)
修改vendor.js 文件
6886 行 contentType: "application/x-www-form-urlencoded
改成 : contentType: “application/json;charset=UTF-8”,
将本地文件copy到docker
docker cp 本地文件位置 myhead:/usr/src/app/_site/vendor.js
重启容器
docker restart myhead