在 docker 构建阶段使用本地 m2 存储库

aba*_*zal 6 java dependencies maven docker

我创建了一个使用自己的库的 Java 项目,该项目安装在我的本地 m2 存储库中。现在,我正在尝试创建一个在构建阶段生成 jar 的 Docker 映像。它失败了,因为它无法解决我自己的库项目的依赖关系。有没有办法告诉maven(来自容器)使用我的本地m2存储库(容器外部),以便它可以在我运行时解决我的库依赖关系mvn package

Kon*_*tor 3

简单的答案 - 你不能,因为没有办法为docker build命令挂载卷。

我假设您的最终目标是运行包含项目构建的 jar 或 war 的 Docker 映像。

为了实现这一点,您需要两个 Dockerfile - 一个可用于创建一个将构建您的项目并退出的容器,第二个将描述您实际想要的映像 - 一个可用于创建一个运行您的项目的容器项目。

这里有一篇很好的文章描述了如何创建和使用第一个。至于第二个,这取决于您的项目是构建为 jar 还是 war 以及需要如何启动/部署。