Объем монтажа как часть многоступенчатой ​​сборки - PullRequest
0 голосов
/ 05 июля 2018

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

Моя сборка многоступенчатая:

FROM maven:3.5-jdk-8 as BUILD

COPY . /usr/src/app
RUN mvn --batch-mode -f /usr/src/app/pom.xml clean package

FROM openjdk:8-jdk
COPY --from=BUILD /usr/src/app/target /opt/target
WORKDIR /opt/target

CMD ["/bin/bash", "-c", "find -type f -name '*.jar' | xargs java -jar"]

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете сделать это с помощью Docker> 18.09 и BuildKit. Вам необходимо включить BuildKit:

export DOCKER_BUILDKIT=1

Затем вам нужно включить экспериментальные функции веб-интерфейса dockerfile, добавив в первую строку dockerfile:

# syntax=docker/dockerfile:experimental

После этого вы можете вызвать команду RUN с монтированием кэша. Монтирование кэша остается постоянным во время сборки:

RUN --mount=type=cache,target=/root/.m2 \
    mvn --batch-mode -f /usr/src/app/pom.xml clean package
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...