【问题标题】:Accessing Host Java from Docker container从 Docker 容器访问主机 Java
【发布时间】:2018-12-06 11:37:07
【问题描述】:

我的 docker 主机中安装了 Java。现在我希望它能够用于我的 docker 容器。我不想在容器上再次安装。我们有什么解决方法吗?

【问题讨论】:

    标签: java docker dockerfile docker-machine


    【解决方案1】:

    这违背了使用 Docker 将容器与主机分离的目的。

    如果您正在寻找解决方法,您可能只需将 Java 主机安装目录挂载到您的容器中,但最好在容器和主机中使用相同的操作系统

    我认为这是不值得的,您不必“安装”Java,只需从已经包含 Java 的图像开始(或自己创建一个),打开 jdk 非常简单。

    【讨论】:

    • 感谢您不将此作为答案发布。但是如果你把它变成你自己的问题,你自己得到答案的机会就会高得多。如果您认为它有助于理解,请链接到这个。 @d3rbastl3r
    • 并考虑使用tour。尽管您的声誉和一些特权,但您似乎错过了 StackOverflow 的一些用途。 @d3rbastl3r
    • 很抱歉,我会这样做的。
    • 我很震惊这还没有被否决投票和惩罚。也许堆栈溢出的环境终于开始改变了。在过去的几年里,我通过研究等提出了更详细的问题,并且被激怒了,被否决了。这里实际上是零努力,零。
    【解决方案2】:

    我猜您要查找的是由 Oracle 构建和管理的 GraalVM。他们有社区版和企业版。

    看看这个博客 -> https://blog.softwaremill.com/small-fast-docker-images-using-graalvms-native-image-99c0bc92e70b(介绍如何使用 graalvm 为 Java 应用程序创建小型 docker 容器。)

    在您的应用容器中捆绑 JDK 或 JRE 很快就会使您的容器变得非常臃肿。使用 GraalVM 是解决这个问题的好方法。

    或者,您可以将 JDK 放在不同的容器中,并将 JAVA_HOME 路径作为卷安装在您的应用容器中。因此,您可以在多个应用容器之间共享一个 JDK 容器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-17
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多