java - 如何在宿主机中使用docker-build库bin

标签 java docker openj9

我的问题是如何在主机中使用docker容器构建的软件和库。 docker 附带的库可能是其他工具/库编译的依赖项。当我尝试一些开源项目(例如 openj9)时,我就遇到了这个问题。

例如,我在 docker 容器中构建了一个 openJ9 VM,这是一个类似于 HotSpot JVM 的 Java VM,如下 ( building instruction )。 过程没问题,但下一个问题是如何配置容器构建的 jvm,位于 ~/openj9-openjdk-jdk8/build/linux-x86_64-normal-server-release/ 内容器,在驻留在主机上的 eclipse 中?

我使用docker的方式可能是错误的,感觉会有潜在的冲突,因为容器构建的jvm的容器环境可能与宿主机环境不同。

那么谁能解释一下在主机中为我的 Eclipse 使用容器构建 jvm 的正确方法吗?谢谢

最佳答案

这里有两种不同的使用模式。我不确定你问的是其中哪一个。也许您问的是两者。

如果您想在构建 JVM 的容器内运行 JVM,那么您会遇到与在远程服务器上运行 JVM 并希望将本地 Eclipse 连接到它相同的情况。我使用 IntelliJ,它有多种方法可以让您部署和调试远程 Java 程序或库。无论在 Eclipse 中执行此操作的正确方法是什么,这同样适用于在本地 Docker 容器中运行的 Java 程序。

如果您正在讨论获取在容器内构建的 JVM 包,将其从容器中拉出,然后在本地工作站上运行它,则这将像您构建可执行文件或文件的任何其他情况一样工作。一台机器上的库可以在另一台机器上使用。如果您在两个环境中运行相同的基本操作系统(例如容器内部和外部的类似版本的 Ubuntu),那么您将有最好的机会做到这一点,而不会出现任何复杂情况。您无法在 Docker 容器中运行的 Ubuntu 中构建 JVM 二进制文件,然后将其拉出并在托管 Docker 的 Windows 工作站上运行它。

实际上...我意识到还有第三种选择。如果您想在 Docker 容器内运行 Java 程序,Eclipse 可能对此有特定支持...部署到与 Eclipse 运行在同一工作站上的 Docker 主机并在其中运行 Java 程序。它所做的事情与远程服务器基本相同,但知道您的目标是本地 Docker 容器,它可以很好地简化此用例。

关于java - 如何在宿主机中使用docker-build库bin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200478/

相关文章:

java - 无法在 ADT 中安装 wtp 组件

java - Java 小程序可以使用硬件 API 吗?

docker - Docker exec在主机而非容器上运行命令

docker - 尝试在Linux Mint 17.03上安装Docker-CE-E:无法找到软件包docker-ce

子目录中的 Docker 集线器自动构建

java - OpenJ9 tomcat 不会以高 -Xmx 堆选项启动

java - 非标准 Java 安装错误地报告了默认语言环境

java - 在 Java 代码中使用 weka 的规则

java - newSingleThreadExecutor 是否返回由 unconfigurableExecutorService 包装的 ExecutorService?