我使用由同事提供的外部图像构建的容器。整个应用程序是生产环境的测试实例。我需要知道哪个版本的Java在容器中运行。我认为这就像:
docker container_name java -version
但这不是一个合适的命令。我将非常感谢您的帮助和建议如何检查。
答案 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