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

无ENTRYPOINT与CMD的官方Logstash Dockerfile为何可正常启动服务

问题核心原因:你找到的Dockerfile并不是官方对外发布的生产可用Logstash镜像的构建文件

你贴的这份Dockerfile是Logstash源码仓库中用于本地开发、代码构建、自动化测试的辅助镜像文件,仅用于Logstash开发环节的环境准备,不会用来构建发布到Docker Hub的官方用户镜像。
官方正式对外发布的Logstash镜像的构建逻辑是单独维护的,里面明确定义了ENTRYPOINT和CMD启动指令,这也是你直接拉取官方镜像启动时能自动运行Logstash的原因。

补充说明

如果你真的用你贴的这份Dockerfile自行构建镜像,不加启动指令直接运行的话,会继承基础镜像ubuntu:bionic的默认CMD /bin/bash,只会启动一个交互式Shell,根本不会自动运行Logstash。你之前能直接启动运行,用的肯定是官方预构建好的正式镜像。

自定义启动命令的方案

如果你需要在Docker或者Kubernetes中自定义启动逻辑,直接覆盖官方镜像的CMD即可:

  • 本地Docker测试时可以直接在run命令末尾加自定义参数,比如 docker run docker.elastic.co/logstash/logstash:7.15.0 logstash -f /你的自定义配置路径
  • Kubernetes中可以在Pod配置的command/args字段填写自定义启动参数即可。

内容的提问来源于stack exchange,提问作者John Humphreys

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:06:03