Бесконечный цикл многоэтапной сборки Maven при сборке образаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Бесконечный цикл многоэтапной сборки Maven при сборке образа

Сообщение Anonymous »

Я хочу поместить Java-приложение в контейнер.
У меня есть этот файл docker:

Код: Выделить всё

FROM maven:3-eclipse-temurin-17 AS maven
RUN mkdir -p /opt/app/src
COPY src /opt/app/src
COPY pom.xml /opt/app
RUN --mount=type=cache,target=/root/.m2 mvn -f /opt/app/pom.xml -DskipTests=true clean package

FROM eclipse-temurin:17-jre-focal as builder
WORKDIR application
COPY --from=maven /opt/app/target/microprofile_db_access.jar application.jar
RUN java -Djarmode=layertools -jar application.jar extract

FROM eclipse-temurin:17-jre-focal
WORKDIR application
COPY --from=builder application/dependencies/ ./
COPY --from=builder application/spring-boot-loader/ ./
COPY --from=builder application/snapshot-dependencies/ ./
COPY --from=builder application/application/ ./
CMD ["java","-jar", "application.jar"]
Я создаю образ:

Код: Выделить всё

docker build -t backend:1.0 .
Вывод в консоль:
=> КЭШИРОВАНО [builder 2/4] Приложение WORKDIR 0.0s
=> КЭШИРОВАНО [maven 2/5] RUN mkdir -p / opt/app/src 0.0s
=> КЭШИРОВАНО [maven 3/5] КОПИРОВАТЬ src /opt/app/src 0.0s
=> КЭШИРОВАНО [maven 4/5] КОПИРОВАТЬ pom.xml /opt/app 0.0s
=> КЭШИРОВАНО [maven 5/5] RUN --mount=type=cache,target=/root/.m2 mvn -f /opt/app/pom.xml -DskipTests=true clean pac 0.0s
=> КЭШИРОВАНО [строитель 3/4] КОПИРОВАТЬ --from=maven /opt/app/target/microprofile_db_access.jar application.jar 0,0 с
=> [builder 4/4] RUN java -Djarmode=layertools -jar application.jar Extract 149,9 с
=> => # [AUDIT] CWWKF0012I: На сервере установлены следующие функции: [appSecurity-3.0, cdi-2.0, DistributedMap-
=> => # 1.0, el-3.0, jaxrs-2.1, jaxrsClient-2.1, jdbc-4.2, jndi-1.0, jpa-2.2, jpaContainer-2.2, json-1.0, jsonb-1.0, j
=> => # sonp-1.1, jwt-1.0, microProfile-4.0, монитор-1.0, mpConfig-2.0, mpFaultTolerance-3.0, mpHealth-3.0, mpJwt-1.2,
=> => # mpMetrics-3.0, mpOpenAPI-2.0, mpOpenTracing -2,0, mpRestClient-2.0, opentracing-2.0, servlet-4.0, ssl-1.0].

=> => # [AUDIT ] CWWKF0011I: Сервер microprofile_db_access готов к работе на более разумной планете. Сервер microprofile_db
=> => # _access запустился за 40,759 секунд.
Первые этапы в сборке работают, но на последнем этапе сервер запускается и остается запущенным , поэтому процесс сборки все еще продолжается, пока я запускаю сервер. Правильно ли я понимаю концепцию многоэтапной сборки? Я подумал, что мне нужно сначала создать образ, а затем запустить его.

Подробнее здесь: https://stackoverflow.com/questions/792 ... uild-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»