Logstash Docker Image - 缺少logstash-plugin?

时间:2018-01-30 14:48:57

标签: docker logstash

我们正在使用Elastic的Logstash Docker映像(docker.elastic.co/logstash/logstash-oss:6.1.2)作为我们自己的Logstash Docker映像构建的基础,我们需要在其中包含一些logstash插件以满足我们自己的需求。但是,当我们查看/opt/logstash/bin下的基本图像时,我们可以看到有logstash-plugin.bat个文件,但没有logstash-plugin.sh个文件。这个文件丢失了还是我们正在查看安装图像的错误命令?

这是我们的Dockerfile,目前在构建时无法将给定的插件包含到新图像中:

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

ENV LOGSTASH_HOME /opt/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

ADD pipeline/ /usr/share/logstash/pipeline/
ADD config/ /usr/share/logstash/config/

我们应该如何安装基于Elastic的Logstash Docker镜像v6.1.2的logstash插件?

1 个答案:

答案 0 :(得分:3)

问题在于Dockerfile本身在RUN命令之间缺少int a = 3; a += 1; // a = 4 a >>= 2; // a = 1 a--; // a = 0 int c = !(..., !a); // c = !(!a) = !(!0) = 0 ,因此从文件夹中删除logstash-plugin而不是执行它来安装插件。

正确的Dockerfile:

&&