目录
- 前言
- 安装elasticsearch-head
- 步骤1:准备
- 1. 安装docker
- 2. 搜索可以使用的镜像。
- 3. 也可从docker hub上搜索镜像。
- 4. 选择合适的redis镜像。
- 步骤2:拉取elasticsearch-head镜像
- 拉取镜像
- 查看已拉取的镜像
- 步骤3:创建容器
- 创建容器方式1:快速创建容器
- 步骤4:启动容器
- 步骤5:检查是否安装成功
- ElasticSearch-head 配置
- 工作目录/WorkingDir
- ElasticSearch-head 容器设置
- 容器随 docker 自动启动
- 容器设置IP
- 其它
- 打开 elasticsearch-head
- 登录容器
- 从 docker 向宿主拷贝WorkingDir目录
- 从宿主向 docker 拷贝文件
- 406 错误
- 参考
前言
- TencentOS Server 3.1
- Docker version 19.03.14, build 5eb3275d40
- ElasticSearch/ES 8.9.0
安装elasticsearch-head
步骤1:准备
1. 安装docker
安装 docker 参考:【Centos 8】【Centos 7】安装 docker
2. 搜索可以使用的镜像。
shell> docker search mobz/elasticsearch-head
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mobz/elasticsearch-head elasticsearch-head front-end and standalone … 95
3. 也可从docker hub上搜索镜像。
docker hub,docker hub-stage。
4. 选择合适的redis镜像。
版本 | 拉取命令 |
---|---|
5 | docker pull mobz/elasticsearch-head:5 |
步骤2:拉取elasticsearch-head镜像
拉取镜像
shell> docker pull mobz/elasticsearch-head:5
5: Pulling from mobz/elasticsearch-head
75a822cd7888: Pull complete
57de64c72267: Pull complete
4306be1e8943: Pull complete
871436ab7225: Pull complete
0110c26a367a: Pull complete
1f04fe713f1b: Pull complete
723bac39028e: Pull complete
7d8cb47f1c60: Pull complete
7328dcf65c42: Pull complete
b451f2ccfb9a: Pull complete
304d5c28a4cf: Pull complete
4cf804850db1: Pull complete
Digest: sha256:55a3c82dd4ba776e304b09308411edd85de0dc9719f9d97a2f33baa320223f34
Status: Downloaded newer image for mobz/elasticsearch-head:5
docker.io/mobz/elasticsearch-head:5
查看已拉取的镜像
shell> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 9c7a54a9a43c 3 months ago 13.3kB
nacos/nacos-server v2.2.1 faff56ad2ef5 4 months ago 1.17GB
redis 6.2.1 de974760ddb2 2 years ago 105MB
elasticsearch 7.12.0 9337ed510a0c 2 years ago 830MB
mysql 5.7.31 42cdba9f1b08 2 years ago 448MB
mobz/elasticsearch-head 5 b19a5c98e43b 6 years ago 824MB
步骤3:创建容器
创建容器方式1:快速创建容器
shell> docker create --name elasticsearch-head1 -p 9100:9100 mobz/elasticsearch-head:5
步骤4:启动容器
shell> docker start elasticsearch-head1
步骤5:检查是否安装成功
浏览器打开 http://localhost:9100, 如果出现以下界面就是安装成功:
ElasticSearch-head 配置
工作目录/WorkingDir
"WorkingDir": "/usr/src/app"
ElasticSearch-head 容器设置
容器随 docker 自动启动
设置容器的重启策略
shell> docker update --restart=always elasticsearch-head1
- 每次docker启动时,容器也会自动启动
容器设置IP
向网络中添加容器
shell> docker network connect --ip 172.19.0.2 mynetwork elasticsearch-head1
- docket ip : 172.19.0.2
其它
打开 elasticsearch-head
- http://localhost:9100
- http://localhost:9100/?base_uri=http://127.0.0.1:9200
- http://localhost:9100/?base_uri=http://127.0.0.1:9200&auth_user=elastic&auth_password=changeme
- http://localhost:9100/?base_uri=http%3A%2F%2F127.0.0.1:9200&auth_user=elastic&auth_password=changeme
登录容器
shell> docker exec -it elasticsearch-head1 /bin/bash
从 docker 向宿主拷贝WorkingDir目录
shell> docker cp elasticsearch-head1:/usr/src/app ~/
从宿主向 docker 拷贝文件
shell> docker cp ~/app/_site/vendor.js elasticsearch-head1:/usr/src/app/_site
406 错误
请求 ElasticSearch API 遇到 406 错误 :
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
原因:elasticsearch 增加了内容类型检查,推荐使用Content-Type: application/json
解决方法:
- 从 docker 容器向宿主拷贝WorkingDir目录
- 修改_site/vendor.js。编辑vendor.js 共有两处
修改 6886行:
contentType: "application/x-www-form-urlencoded
改成
contentType: "application/json;charset=UTF-8"
修改 7573行:
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
- 将 vendor.js 拷贝到docker容器
- 重启容器
参考
https://blog.csdn.net/wangxilong1991/article/details/80618082
https://blog.csdn.net/biu_biu_duda/article/details/121982287
https://blog.csdn.net/qq_35956041/article/details/101444499
https://github.com/mobz/elasticsearch-head