Logstash Docker 映像 - 缺少 logstash 插件吗?

Goi*_*nas 6 logstash docker

我们使用 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/
Run Code Online (Sandbox Code Playgroud)

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

Goi*_*nas 6

问题出在 Dockerfile 本身,它&&在 RUN 命令之间丢失,因此从文件夹中删除了 logstash-plugin,而不是执行它来安装插件。

正确的 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/
Run Code Online (Sandbox Code Playgroud)