Docker 使用 Maven 构建策略

Docker build strategy with Maven

有几种方法可以为 Openshift 构建,其中之一是 Docker build strategy

我的存储库的根目录中确实有一个 Dockerfile:

FROM maven:3.6.1-jdk-8

...


RUN mvn clean package

...

当我执行

oc new-build https://github.com/myrepo

它成功了,但是:

oc start-build ...

抱怨在工作目录(/)中找不到 pom.xml 文件失败。

使用

RUN echo `find . pom.xml`

我发现找不到 pom.xml 文件。

我怎样才能让它工作?另外,我的方法正确吗?

在您的情况下,您需要向 Dockerfile 添加 COPY 语句,以便 运行ning 容器内的 Maven 可以使用项目文件。然后使用 运行 语句开始构建。

由于您可能不会 运行 要在 maven 图像上创建的结果 docker 图像,您可以查看 docker multi-stage builds。它允许 运行 使用一个图像构建您的构建,并将文件传递到基于不同图像的新图像中。

这是在创建过程中使用 docker 构建映像在 docker 映像中创建应用程序的常用方法。所以到目前为止一切看起来都很好。