docker - Logstash Docker 镜像 - 缺少 logstash 插件吗?

标签 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 插件?

最佳答案

问题在于 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/

关于docker - Logstash Docker 镜像 - 缺少 logstash 插件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524207/

相关文章:

python - Kubernetes-配置Angular以使用后端API

docker - 如何保持 ubuntu 镜像运行?

elasticsearch - 在 ElasticSearch 中省略默认的 Logstash 字段

elasticsearch - 如何删除json。我的Elasticsearch字段上的前缀

docker - 如何在临时容器中创建一个空文件?

node.js - 使用 kubernetes 部署时无法连接 gRPC

python-3.x - 无法在 Ubuntu 上将 Splash 安装到 Docker 上

elasticsearch - .net 的 Elasticsearch

elasticsearch - Logstash/ Elasticsearch : guesses wrong for datatype for field

json - Logstash 索引 JSON 数组