如何查询Docker中7.9.x以上版本Logstash镜像的Java版本
Logstash 7.9.x以上版本Docker镜像查询Java版本方法
原因说明
从Logstash 7.10版本开始,官方镜像调整了内置JDK的存放逻辑,不再将JDK安装到系统PATH可识别的全局路径下,而是绑定到Logstash自身的安装目录中,同时entrypoint启动脚本的逻辑也做了调整,因此直接传入java -version命令会提示找不到可执行文件。7.9.x及更早版本的JDK存放在系统全局路径下,因此可以直接执行命令查询。
查询方法
- 方法1:直接运行镜像查询(无需启动完整Logstash服务)
执行以下命令,指定内置JDK的完整路径即可:
docker run --rm -it docker.elastic.co/logstash/logstash:7.14.2 /usr/share/logstash/jdk/bin/java -version
你使用的7.14.2版本镜像执行该命令后,会输出内置JDK版本为11.0.12,符合你要求的版本标准。
- 方法2:针对正在运行的Logstash容器查询
如果已经有运行中的Logstash容器,可通过exec命令进入容器查询:
docker exec -it <你的Logstash容器名/容器ID> /usr/share/logstash/jdk/bin/java -version
- 方法3:查看启动日志
Logstash服务启动时会在默认日志中打印当前使用的JDK版本信息,直接查看容器启动日志也能获取对应版本:
docker logs <你的Logstash容器名/容器ID> | grep "java.version"
内容的提问来源于stack exchange,提问作者hainabaraka
相关产品推荐
相关产品推荐

