gpt4 book ai didi

java - 如何在基于 alpine 的 docker 容器上安装多个 openjdk 版本

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:37 34 4
gpt4 key购买 nike

我希望将 jdk7 和 jdk8 并排安装在一个 Alpine 容器上。仅当设置了 env 变量时,我才想选择 jdk7。

我链接了 FROM openjdk:7-alpineFROM openjdk:8-alpine,但不管它们的相对顺序如何,后者都会覆盖前者。因此,我只剩下 1 个安装,如 '/usr/lib/jvm' 所示。

为什么我需要这个:

我需要为 Jenkins 的从属容器设置此设置。现在,jenkins remoting jar 现在只能在 jdk8 上运行。所以,我需要它。另外,因为我正在为一个需要 jdk7 作为默认 jdk 的项目生成这个容器,所以我也需要它。

我的 Dockerfile: https://github.com/ankurshashcode/docker-slave/blob/alpine/Dockerfile

最佳答案

你应该保持简单并使用一个基础图像。
使用 openjdk7 作为基础镜像,安装 openjdk8 作为一个包。这将覆盖 openjdk7 作为默认 JDK,同时将其保留在镜像中。

   # Example Dockerfile
FROM openjdk:7-alpine
RUN apk add --no-cache openjdk8

# Other setup...

验证

$> java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (IcedTea 3.4.0) (Alpine 8.131.11-r2)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

$> ls /usr/lib/jvm/
default-jvm java-1.7-openjdk java-1.8-openjdk

关于java - 如何在基于 alpine 的 docker 容器上安装多个 openjdk 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47310526/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com