【问题标题】:Maven build, test and run on a docker machineMaven 在 docker 机器上构建、测试和运行
【发布时间】:2015-03-20 09:29:35
【问题描述】:

现在问这个问题可能为时过早,但我希望有人和我有同样的问题。

我必须构建一个在centos7openjdk-7 机器上运行的jar

我在非常短的时间内创建了一台 docker 机器 :) 但我的问题更像是一个 maven 问题。

我的问题是:

如何使用本机的jdk和环境在远程机器上生成jar(例如mac上由kitematic驱动的容器:p)?

欢迎任何帮助。

--- 编辑

我在我的 mac 上开发,我想在“远程”机器上启动构建,在本地,我在 kitematic vm 上的 docker 容器。

【问题讨论】:

  • 我不确定你在问什么?是什么阻止你在 centos7 容器中构建 Jar?
  • 哦,对不起,我完全忽略了这一点:我在我的 Mac 上开发。我编辑了这个问题,谢谢指出这一点。
  • 我还是迷路了。您在寻找docker exec 吗?通常你只会做docker run mycentos mvn command,可能会映射到一个卷中来保存输出。这有帮助吗?!
  • 不,抱歉,可能是我,但代码在某处(例如在我的 Mac 上),环境和 jdk 在其他地方(例如在容器中)。最终目标是创建一个集成过程。
  • 您可以使用volumes将代码从Mac挂载到docker容器中,并使用容器中的JDK进行编译。那是你想要做的吗?很难理解您正在尝试做什么以及为什么您认为它不起作用。

标签: java maven jar docker maven-module


【解决方案1】:

我认为您只是在询问如何使用容器在本地 Mac 上编译源代码。如果您安装了 boot2docker,则以下工作:

$ docker run -v $(pwd)/java_proj:/java_proj java:openjdk-7u65-jdk javac /java_proj/Test.java

假设您在当前目录中有一个文件夹 java_proj 和文件 Test.java,这将编译测试文件并将输出放在同一文件夹中。我们可以这样做,因为 boot2docker 虚拟机共享您的主目录,然后我们可以将文件夹作为卷挂载到容器内。代码将使用java:openjdk-7u65-jdk镜像的编译器和环境进行编译。

【讨论】:

  • 我第一次阅读您的答案时不明白,但这完全是我想要的。 -v 选项是关键。谢谢。
猜你喜欢
  • 2012-07-31
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 2020-04-23
  • 2010-09-30
相关资源
最近更新 更多