Docker строит стратегию с Maven - PullRequest
1 голос
/ 11 июня 2019

Существует несколько способов сделать сборку для Openshift, одним из них является Стратегия сборки Docker

У меня есть 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 нигде не найти.

Как я могу заставить его работать? Кроме того, мой подход правильный?

1 Ответ

1 голос
/ 13 июня 2019

В вашем случае вам нужно добавить оператор COPY в Dockerfile, чтобы файлы проекта были доступны maven внутри работающего контейнера. Затем начните сборку с оператора RUN.

Поскольку вы, вероятно, не запустите полученное изображение докера, которое вы хотите создать, на образе maven, вы можете взглянуть на многоэтапные сборки Docker . Это позволяет запускать сборку с одним изображением и передавать файлы в новое изображение на основе другого изображения.

Это распространенный подход для создания приложений внутри образов докеров с использованием образов сборки докеров во время создания. Так что пока все выглядит хорошо.

...