You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker部署的OpenSearch上安装自定义REST插件

前置准备

你克隆的是插件源码,需要先编译生成安装包才能安装:本地安装JDK11和Gradle环境后,进入插件根目录执行 ./gradlew build,编译完成后会在build/distributions目录下生成后缀为.zip的插件安装包。注意要确认插件配置的OpenSearch依赖版本和你使用的1.0.1完全匹配,否则会安装失败。


方案1:临时安装(适合测试验证)

该方案不需要修改配置,直接对运行中的容器操作,缺点是容器重建后插件会丢失。

  • 把编译好的插件包拷贝到两个OpenSearch节点容器中:
docker cp ./build/distributions/你的插件包名.zip opensearch-node1:/tmp/
docker cp ./build/distributions/你的插件包名.zip opensearch-node2:/tmp/
  • 分别进入两个容器执行安装命令:
# 操作node1
docker exec -it opensearch-node1 bash
/usr/share/opensearch/bin/opensearch-plugin install file:///tmp/你的插件包名.zip
# 提示确认权限时输入y确认,安装完成后退出容器
exit

# 操作node2
docker exec -it opensearch-node2 bash
/usr/share/opensearch/bin/opensearch-plugin install file:///tmp/你的插件包名.zip
exit
  • 重启两个节点容器使插件生效:
docker restart opensearch-node1 opensearch-node2

方案2:自定义镜像持久化安装(适合正式使用)

该方案把插件打包到自定义镜像中,容器重建不会丢失插件。

  • 在你的docker-compose.yml同级目录新建Dockerfile,内容如下:
FROM opensearchproject/opensearch:1.0.1
# 把本地编译好的插件包拷贝到镜像内
COPY ./build/distributions/你的插件包名.zip /tmp/
# 执行批量安装(--batch参数跳过交互确认)
RUN /usr/share/opensearch/bin/opensearch-plugin install --batch file:///tmp/你的插件包名.zip
  • 修改docker-compose.yml里的两个OpenSearch节点配置,把原来的image: opensearchproject/opensearch:1.0.1替换为build: .,表示使用当前目录的Dockerfile构建镜像。
  • 重新启动服务:
docker-compose up --build -d

验证安装结果

执行以下命令查看插件列表,确认两个节点都已加载你的自定义插件:

curl -k -u admin:admin https://localhost:9200/_cat/plugins

如果你用的是示例REST插件,可以调用对应接口测试功能:

curl -k -u admin:admin https://localhost:9200/_example/rest

正常会返回插件定义的响应内容。

内容的提问来源于stack exchange,提问作者David Munsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:57:01