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

基于Logstash Docker镜像v6.1.2安装插件遇疑:缺失logstash-plugin.sh?

解决Logstash 6.1.2 OSS镜像插件安装问题

首先咱们来拆解下你遇到的核心问题:这个6.1.2版本的Logstash OSS镜像里,logstash-plugin是直接的可执行脚本,根本没有.sh后缀,再加上你之前的Dockerfile里路径和命令逻辑有几个小疏漏,才导致插件装不上。

问题根源梳理

  1. 目录路径错误:官方6.x版本的Logstash镜像,程序默认放在/usr/share/logstash,不是你设置的/opt/logstash,这直接导致后续执行插件命令时找不到文件。
  2. 命令衔接问题:你的RUN指令里,rm和插件安装命令之间没加&&,shell执行时会忽略前序命令的失败状态直接跑后面的,而且换行后的命令需要用&&来保证执行顺序和成功性。
  3. 插件命令认知偏差:这个版本里logstash-plugin本身就是可执行文件,不需要找.sh后缀,直接调用就行。

修正后的Dockerfile

FROM docker.elastic.co/logstash/logstash-oss:6.1.2

# 修正Logstash主目录,匹配官方镜像的实际结构
ENV LOGSTASH_HOME /usr/share/logstash
WORKDIR ${LOGSTASH_HOME}

# 先清理默认配置,再安装插件,用&&确保前一步成功才执行下一步
RUN rm -f /usr/share/logstash/pipeline/logstash.conf \
    && bin/logstash-plugin install logstash-input-kafka \
    && bin/logstash-plugin install logstash-filter-prune

# 复制自定义的pipeline和配置文件
ADD pipeline/ /usr/share/logstash/pipeline/
ADD config/ /usr/share/logstash/config/

额外验证小技巧

如果你想确认镜像里的logstash-plugin位置,可以先启动临时容器查看:

docker run -it --rm docker.elastic.co/logstash/logstash-oss:6.1.2 /bin/bash
# 进入容器后执行以下命令查看文件列表
ls /usr/share/logstash/bin/

你会看到logstash-plugin这个可执行文件,直接调用它就没问题。另外,如果是内网环境安装插件,记得提前配置代理或者准备好离线插件包哦。

内容的提问来源于stack exchange,提问作者Going Bananas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:28:24