【发布时间】:2018-12-06 11:37:07
【问题描述】:
我的 docker 主机中安装了 Java。现在我希望它能够用于我的 docker 容器。我不想在容器上再次安装。我们有什么解决方法吗?
【问题讨论】:
标签: java docker dockerfile docker-machine
我的 docker 主机中安装了 Java。现在我希望它能够用于我的 docker 容器。我不想在容器上再次安装。我们有什么解决方法吗?
【问题讨论】:
标签: java docker dockerfile docker-machine
这违背了使用 Docker 将容器与主机分离的目的。
如果您正在寻找解决方法,您可能只需将 Java 主机安装目录挂载到您的容器中,但最好在容器和主机中使用相同的操作系统
我认为这是不值得的,您不必“安装”Java,只需从已经包含 Java 的图像开始(或自己创建一个),打开 jdk 非常简单。
【讨论】:
我猜您要查找的是由 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 容器。
【讨论】: