gpt4 book ai didi

java - 部署时覆盖容器 JRE

转载 作者:行者123 更新时间:2023-12-01 19:05:13 26 4
gpt4 key购买 nike

这些镜像是使用 Oracle Open JDK 引用构建的。因此,当我们启动容器时,它使用相同的 Oracle Open JDK。

我们希望提供一种工具,以便在部署时可以更改 JRE。如果任何用户不想更改,那么它将使用提供的默认 Oracle Open JDK。

我们认为一个可能的解决方案:我们将更改 docker-compose 以将主机 customJRE 目录卷映射到容器作为 containerJRE。我们将更改我们的项目 Dockerfile 一次,它可以设置 JAVA_HOME 和 PATH 变量来引用 containerJRE。我们将重建一次图像。部署时,用户将在主机上提供自己的 JRE。因此,当容器出现时,将使用这个自定义 JRE。

在进一步讨论之前,我们想了解这种方法的缺点。如果有任何更好的方法或改进这也会非常有帮助。

最佳答案

更好的方法是使用自定义 JRE 构建基础镜像。此基础镜像应负责设置 JAVA_HOME 和更新路径。

稍后您可以通过扩展上述自定义 JRE 基础镜像来创建应用程序 docker 镜像。

当前方法的缺点

  1. 增加了整体镜像大小和容器大小,因为其中包含未使用的 Oracle JRE 二进制文件
  2. 维护音量的开销
  3. 维护额外步骤的开销,您将执行这些步骤以使用外部 JRE 覆盖现有 JRE
  4. 重新创建 Docker 镜像的开销

关于java - 部署时覆盖容器 JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59573575/

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