如何更改 docker 图像或容器中的 java 版本?
How to change the java version in docker image or container?
在我的 spring 引导微服务项目中,其中一个微服务已升级到 java 11,这导致我现有的功能出现一些问题。我想将该微服务中 java 的版本从 11 更改为 8。但我无法做到这一点,因为它通过 jenkins 自动创建为 docker 图像。
在 Gradle 文件中,我提到 java 版本为 1.8,但在 kubernetes 集群中仍然以某种方式仅针对此特定服务 java 升级到 11.
通过在服务器中使用以下命令确认了 java 的版本。
“docker 执行 {container_id} java -版本”
请建议我如何更改 docker 映像或容器中 java 的版本?
是否可以仅通过 运行 linux 命令更改 java 版本?还是需要执行其他一些步骤?
@RakshithM 是的,Jenkins 必须参考 Dockerfile
来构建 docker 容器,如果您发现了,那么您可以按照@David 的建议进行操作。对于您参考 https://docs.docker.com/language/java/build-images/ ,任何容器都指的是具有我们的应用程序运行的基本环境的基本图像,它基本上以 docker 文件中的 FROM
开头。
例如:
FROM openjdk:16-alpine3.13
此处我们的容器指的是 openjdk:16
图像,该图像位于 minimal linux environment with java 16
之上,其中包含其他工具,这些工具在 dockerfile
中定义。所以在你的情况下,如果你找到 Dockerfile
那么你可以将它更改为你需要的 java 版本。
在我的 spring 引导微服务项目中,其中一个微服务已升级到 java 11,这导致我现有的功能出现一些问题。我想将该微服务中 java 的版本从 11 更改为 8。但我无法做到这一点,因为它通过 jenkins 自动创建为 docker 图像。
在 Gradle 文件中,我提到 java 版本为 1.8,但在 kubernetes 集群中仍然以某种方式仅针对此特定服务 java 升级到 11.
通过在服务器中使用以下命令确认了 java 的版本。 “docker 执行 {container_id} java -版本”
请建议我如何更改 docker 映像或容器中 java 的版本?
是否可以仅通过 运行 linux 命令更改 java 版本?还是需要执行其他一些步骤?
@RakshithM 是的,Jenkins 必须参考 Dockerfile
来构建 docker 容器,如果您发现了,那么您可以按照@David 的建议进行操作。对于您参考 https://docs.docker.com/language/java/build-images/ ,任何容器都指的是具有我们的应用程序运行的基本环境的基本图像,它基本上以 docker 文件中的 FROM
开头。
例如:
FROM openjdk:16-alpine3.13
此处我们的容器指的是 openjdk:16
图像,该图像位于 minimal linux environment with java 16
之上,其中包含其他工具,这些工具在 dockerfile
中定义。所以在你的情况下,如果你找到 Dockerfile
那么你可以将它更改为你需要的 java 版本。