首页 > 解决方案 > 使用 Maven 构建 Docker 策略

问题描述

有几种方法可以为 Openshift 进行构建,其中之一是Docker 构建策略

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

FROM maven:3.6.1-jdk-8

...


RUN mvn clean package

...

当我执行

oc 新建https://github.com/myrepo

它成功了,但是:

oc 开始构建...

pom.xml无法抱怨在工作目录(即)中找不到文件/

使用

RUN echo `find . pom.xml`

我发现该pom.xml文件无处可寻。

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

标签: mavendockerdockerfileopenshiftopenshift-origin

解决方案


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

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

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


推荐阅读