如何检查Docker容器的Java版本?

时间:2018-03-09 08:54:50

标签: java docker

我使用由同事提供的外部图像构建的容器。整个应用程序是生产环境的测试实例。我需要知道哪个版本的Java在容器中运行。我认为这就像:

docker container_name java -version

但这不是一个合适的命令。我将非常感谢您的帮助和建议如何检查。

4 个答案:

答案 0 :(得分:4)

你能做什么:

检查同事的dockerfile,看看他依赖的是哪个基本图像。基本图像标记通常描述版本。

另一种方法是docker exec containerId java -version

答案 1 :(得分:4)

您需要执行“远程”命令,假设您的主机操作系统上有另一个子系统。

要做到这一点,你可以做到

docker exec container_name java -version - 来自docker

的文档
  

docker exec - 在正在运行的容器中运行命令。

或者,如果您的容器是Linux,则可以简单地执行bash,如果您愿意,可以执行更多命令

docker exec -it container_name bash

再次来自文档:

  

- tty,-t - 分配伪TTY

     

- 互动,-i 即使没有附加,也要保持STDIN开启

资源:https://docs.docker.com/engine/reference/commandline/exec/

答案 2 :(得分:2)

docker exec container_name java -version

答案 3 :(得分:1)

显示Java版本

[root@localhost docker-java]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
openjdk                           8                   09df0563bdfc        10 days ago         488MB 
python                            latest              0a3a95c81a2b        10 days ago         932MB

[root@localhost docker-java]# docker run -it --rm openjdk:8 bash
root@a51edd412d60:/# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
root@a51edd412d60:/# exit
exit

显示python版本

[root@localhost docker-java]# docker run -it --rm python:latest bash
 root@1e645b65683b:/# python -V
 Python 3.8.0