我有一个docker-compose.yml文件,其中包含一个弹性搜索图像:
elasticsearch:
image: elasticsearch
ports:
- "9200:9200"
container_name: custom_elasticsearch_1如果我想安装额外的插件,如HQ界面或附件映射器,我必须使用以下命令进行手动安装:
$ docker exec custom_elasticsearch_1 plugin install royrusso/elasticsearch-HQ
$ docker exec custom_elasticsearch_1 plugin install mapper-attachments有没有办法在我运行docker-compose up命令时自动安装它们?
发布于 2016-09-26 04:50:56
Here是一篇由Elastic撰写的博客文章,就是关于这一点的!您需要使用执行命令的Dockerfile来扩展图像。您的Dockerfile将如下所示:
FROM custom_elasticsearch_1
RUN elasticsearch-plugin install royrusso/elasticsearch-HQ发布于 2019-10-02 05:30:28
灵感来自@NickPridorozhko的答案,但使用elasticsearch^7.0.0 (使用docker stack / swarm)进行了更新和测试,使用analysis-icu示例:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
user: elasticsearch
command: >
/bin/sh -c "./bin/elasticsearch-plugin list | grep -q analysis-icu
|| ./bin/elasticsearch-plugin install analysis-icu;
/usr/local/bin/docker-entrypoint.sh"
...主要区别在于^7.0.0的更新命令,以及使用docker入口点而不是./bin/elasticsearch (在堆栈的上下文中,您会得到一个与可派生进程的限制相关的错误)。
发布于 2019-02-19 19:15:03
这对我很有效。先安装插件,然后继续启动elasticsearch。
elasticsearch:
image: elasticsearch
command:
- sh
- -c
- "plugin list | grep -q plugin_name || plugin install plugin_name;
/docker-entrypoint.sh elasticsearch"https://stackoverflow.com/questions/39691652
复制相似问题