如何使用 Docker 容器安装 Elasticsearch 插件?

如何使用 Docker 容器安装 Elasticsearch 插件?

我是 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安装插件,请按照以下步骤操作。

  1. 登录dockerdocker exec -it <id> /bin/bash
  2. 找到 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 .

相关内容