Построение многоступенчатого образа в докере с использованием Dockerfile для микросервисов - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть один базовый каталог, который содержит файл pom, который имеет общие зависимости, необходимые всем микросервисам.И есть одно общее приложение (commonapp), которое устанавливает файл jar в репозиторий maven, который необходим для сборки всех других микросервисов.Я попытался построить один микросервис Zca.Каждый из них находится в отдельной папке.Было бы очень полезно, если бы кто-то мог предложить какое-либо решение для этого.

FROM maven:3.5-jdk-8 as maven
COPY ./pom.xml ./pom.xml
RUN mvn dependency:go-offline -B

FROM ubuntu as base
WORKDIR /Users/docker/CommonApp/
COPY --from=maven /Users/docker/CommonApp/commonapp-0.0.1-SNAPSHOT.jar /Users/docker/CommonApp/commonapp-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","commonapp-0.0.1-SNAPSHOT.jar"]


# our final base image
FROM maven:3.5-jdk-8
WORKDIR /Users/docker/Zca
COPY --from=base ./ .
CMD ["java", "-jar", "zca.war"]

Поскольку они находятся в разных папках, я не могу собрать его, поскольку он выдает эту ошибку: Для указанной цели требуетсяпроект для выполнения, но в этом каталоге нет POM .И когда я пытаюсь скопировать commonapp.jar, это дает мне эту ошибку: COPY не удалось: stat /var/lib/docker/tmp/docker-builder331666821/target/commonapp-0.0.1-SNAPSHOT.jar: нет такогофайл или каталог

...