在 docker logstash 上显示 java 版本
show java version on docker logstash
上下文:需要提升 logstash 映像 运行 所在的 Java 版本。我希望提升 logstash 映像版本会带来所需的 java 版本提升(期望的结果是提升到 java 11.0.12 或更高版本),但我什至不知道如何检查哪个版本java 的 运行.
目前正在使用 docker 图片 docker.elastic.co/logstash/logstash:7.14.2
,但如何查看 java 版本?
在 https://github.com/elastic/logstash/issues/11907 之后,我尝试了这个:
docker run --rm -it docker.elastic.co/logstash/logstash:7.14.2 java -version
,但这是结果:
/usr/local/bin/docker-entrypoint: line 14: exec: java: not found
然而,运行 docker run --rm -it docker.elastic.co/logstash/logstash:7.9.0 java -version
给出以下输出:
Status: Downloaded newer image for docker.elastic.co/logstash/logstash:7.9.0
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
我不明白为什么 logstash docker 版本 7.9.0
可以识别 java -version
命令,但不能识别 7.14.2
。我试过7.10.0
和7.11.0
等,好像是一样的,无法检查。如何检查 java 版本以获取超过 7.9.x
的 logstash 版本?
由于 7.10 版 Logstash 使用 bundled java,这就是为什么在使用 7.9 docker 图像时可以 运行 命令 java
而不是在使用更高版本时那。
直到 7.9 版,docker 映像安装 java 使用 yum
这使得 java
二进制文件在容器中全局可用,因为它的位置导出到 PATH
环境变量。
从版本 7.10 开始,java 未通过 yum
安装,因为使用了捆绑的 java,因此 java
二进制文件在 [=13= 中不可用] 环境变量。
您需要 运行 java
二进制文件的完整路径,应该是 /usr/share/logstash/jdk/bin
.
上下文:需要提升 logstash 映像 运行 所在的 Java 版本。我希望提升 logstash 映像版本会带来所需的 java 版本提升(期望的结果是提升到 java 11.0.12 或更高版本),但我什至不知道如何检查哪个版本java 的 运行.
目前正在使用 docker 图片 docker.elastic.co/logstash/logstash:7.14.2
,但如何查看 java 版本?
在 https://github.com/elastic/logstash/issues/11907 之后,我尝试了这个:
docker run --rm -it docker.elastic.co/logstash/logstash:7.14.2 java -version
,但这是结果:
/usr/local/bin/docker-entrypoint: line 14: exec: java: not found
然而,运行 docker run --rm -it docker.elastic.co/logstash/logstash:7.9.0 java -version
给出以下输出:
Status: Downloaded newer image for docker.elastic.co/logstash/logstash:7.9.0
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
我不明白为什么 logstash docker 版本 7.9.0
可以识别 java -version
命令,但不能识别 7.14.2
。我试过7.10.0
和7.11.0
等,好像是一样的,无法检查。如何检查 java 版本以获取超过 7.9.x
的 logstash 版本?
由于 7.10 版 Logstash 使用 bundled java,这就是为什么在使用 7.9 docker 图像时可以 运行 命令 java
而不是在使用更高版本时那。
直到 7.9 版,docker 映像安装 java 使用 yum
这使得 java
二进制文件在容器中全局可用,因为它的位置导出到 PATH
环境变量。
从版本 7.10 开始,java 未通过 yum
安装,因为使用了捆绑的 java,因此 java
二进制文件在 [=13= 中不可用] 环境变量。
您需要 运行 java
二进制文件的完整路径,应该是 /usr/share/logstash/jdk/bin
.