Невозможно запустить «./mvnw clean install» при создании образа докера на основе «openjdk: 8-jdk-alpine» для приложения Spring Boot - PullRequest
0 голосов
/ 10 октября 2018

Я хотел бы создать приложение Spring Boot, используя оболочку maven, предоставляемую spring.io.starter, внутри контейнера докера.Мой Dockerfile:

FROM openjdk:8-jdk-alpine
# install bash --> commented because I just need /bin/sh which is already provided by the base image
#RUN apk add --no-cache bash
ENV APP_DIR /app
ENV APP app.jar
WORKDIR ${APP_DIR}
COPY . ${APP_DIR}
# ===> HERE THE PROBLEM
RUN /bin/sh -c "./mvnw clean install"
ENTRYPOINT ["java","-jar","chicowa-app.jar"]
EXPOSE 8080

У меня есть эта ошибка:

/bin/sh: ./mvnw: not found

После проведения некоторых исследований я все еще не могу найти решение.Моя версия докера Docker version 18.06.1-ce, build e68fc7a на Windows10 pro

Большое спасибо за вашу помощь.

EDIT

Решением было бы установить maven напрямую с RUN apk add --no-cache maven, но яхотел бы максимально уменьшить размер изображения.

Ответы [ 2 ]

0 голосов
/ 02 июня 2019

, если вы уже настроили maven, вы можете запустить следующее: -

mvn clean install

Он будет без проблем создавать образ докера.

0 голосов
/ 11 октября 2018

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

Если ваш PATH установлен правильно, а Maven был установлен в подходящем месте, просто удалите«./» перед командой будет достаточно.

RUN /bin/sh -c “mvnw clean install”

Если mvnw НЕ находится в вашем PATH, вы можете указать полный путь в вашем скрипте (но признайте, что Maven может вызывать другие вещичто бы те же изменения в PATH).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...