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 映像中创建应用程序的常用方法。所以到目前为止一切看起来都很好。
有几种方法可以为 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 映像中创建应用程序的常用方法。所以到目前为止一切看起来都很好。