我是 Docker 的新手,我想在我的 elasticsearch 容器中安装插件,在本例中它们是:
- 分析-icu
- 分析语音
我知道传统的方式应该是这样的:
- 此目录中的 /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install analysis-icu
sudo bin/elasticsearch-plugin install analysis-phonetic
➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7aaead8fd09 elasticsearch:7.0.1 "/usr/local/bin/dock…" 2 days ago Up 10 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
有什么想法或建议吗?
答案1
如果你正在使用 Dockerfile,请尝试下面的链接
FROM elasticsearch:2
RUN /usr/share/elasticsearch/bin/plugin install --batch <plugin>
之后你可以构建
$ docker build -t elasticsearch-aws .
这是很好的参考https://www.elastic.co/blog/elasticsearch-docker-plugin-management。
如果您想直接从docker安装插件,请按照以下步骤操作。
- 登录docker
docker exec -it <id> /bin/bash
- 找到 elasticsearch 主目录并执行命令来安装插件。
但请记住,这种方式不是持久的。
答案2
如果您使用的是 elasticsearch 6,安装插件的命令与 @asktyagi 的答案略有不同。将其放入您的 Dockerfile 中
FROM elasticsearch:6.8.3
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu && \
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-phonetic
然后
docker build -t elasticsearch .