如何使用 docker-compose 安装 logstash 插件?

B3n*_*B3n 7 logstash docker-compose

当我尝试安装 logstash 插件后,我尝试使用docker-compose但docker 安装 logstash。exited with code 0Installation successful

logstash 的 docker-compose 文件部分是:

  logstash:
    image: docker.elastic.co/logstash/logstash-oss:7.0.1
    ports: ['9600:9600']
    command: bin/logstash-plugin install logstash-filter-metricize
    volumes:
      - ./logstash/pipeline/:/usr/share/logstash/pipeline/
Run Code Online (Sandbox Code Playgroud)

日志是:

logstash_1       |Validating logstash-filter-metricize
logstash_1       |Installing logstash-filter-metricize
logstash_1       |Installation successful
logstash_1 exited with code 0
Run Code Online (Sandbox Code Playgroud)

如果我尝试不安装插件,我的 docker-compose 工作正常。我不明白安装插件时我做错了什么。

B3n*_*B3n 14

我使用 Dockerfile 来修复它。

我的Dockerfile

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

RUN rm -f /usr/share/logstash/pipeline/logstash.conf && \
  bin/logstash-plugin install logstash-filter-metricize
Run Code Online (Sandbox Code Playgroud)

我的部分docker-compose

  logstash:
    build: 
      context: ./logstash
    ports: ['9600:9600']
    volumes:
      - ./logstash/pipeline/:/usr/share/logstash/pipeline/
Run Code Online (Sandbox Code Playgroud)


Han*_*ank 9

安装后您需要链接logstash启动命令。

  command: bash -c "bin/logstash-plugin install logstash-filter-metricize && logstash -f /etc/logstash/conf.d/logstash.conf "
Run Code Online (Sandbox Code Playgroud)