在上一篇,讲了Docker环境下,elasticsearch安装,本章节介绍Docker下Header插件安装。
(一)、拉取镜像
下一个elasticsearch-head的镜像
docker pull mobz/elasticsearch-head:5
(二)、修改配置
然后修改Gruntfile.js和app.js两个配置文件。用Docker部署head插件很容易犯一个错误,对于配置文件我往往是在宿主机建立对应文件,然后把Docker对应文件映射到宿主机对应文件。然后配置文件直接拿网上的代码贴上去。但是我看了几个head的教程,都没说明只是贴了Gruntfile.js和app.js两个配置文件的代码片段,包括我后面的贴的,也只是代码片段。
正确的操作是,你下一个elasticsearch-head的包,或者到容器里面,把Gruntfile.js和app.js复制出来,然后再修改。
宿主机和容器之间的复制命令为:
docker cp host_path containerID:container_path --从主机复制到容器
docker cp containerID:container_path host_path --从容器复制到主机
Gruntfile.js修改以下片段,
connect: {
server: {
options: {
/* 默认监控:127.0.0.1,修改为:0.0.0.0 */
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
app.js修改以下代码片段:
/* 修改localhost为elasticsearch集群地址,Docker部署中,一般是elasticsearch宿主机地址 */
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
(三)、启动容器
可以通过命令启动容器:
docker run -d --name head -p 9100:9100 -v /data/elasticsearch/head/Gruntfile.js:/usr/src/app/Gruntfile.js -v /data/elasticsearch/head/app.js:/usr/src/app/_site/app.js mobz/elasticsearch-head:5
也可以放在docker-compose.yml一起启动:
version: '2.0'
services:
elasticsearch-central:
image: elasticsearch:5.6.4
container_name: es1
volumes:
- /data/elasticsearch/data:/usr/share/elasticsearch/data
- /data/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
- ES_CLUSTERNAME=elasticsearch
command: elasticsearch
ports:
- "9200:9200"
- "9300:9300"
elasticsearch-data:
image: elasticsearch:5.6.4
container_name: es2
volumes:
- /data/elasticsearch/data2:/usr/share/elasticsearch/data
- /data/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
- ES_CLUSTERNAME=elasticsearch
command: elasticsearch
ports:
- "9201:9200"
- "9301:9300"
links:
- elasticsearch-central:elasticsearch
elasticsearch-head:
image: mobz/elasticsearch-head:5
container_name: head
volumes:
- /data/elasticsearch/head/Gruntfile.js:/usr/src/app/Gruntfile.js
- /data/elasticsearch/head/app.js:/usr/src/app/_site/app.js
ports:
- "9100:9100"
links:
- elasticsearch-central:elasticsearch