Как исправить приложение для загрузки с помощью gradle docker?

#java #linux #docker #gradle

#Ява #линукс #докер #грейдер

Вопрос:

Я использую docker для создания весеннего приложения, подобного этому

 # Build project via gradle FROM gradle:6.3.0-jre11 AS TEMP_BUILD_IMAGE ENV APP_HOME=/usr/app WORKDIR $APP_HOME COPY build.gradle settings.gradle $APP_HOME  COPY gradle $APP_HOME/gradle COPY --chown=gradle:gradle . /home/gradle/src USER root RUN chown -R gradle /home/gradle/src   RUN gradle build COPY . .  FROM ubuntu:18.04 ENV JAR_FILE=search-service-*.jar ENV AGENT_FILE=elastic-apm-agent.jar ENV APP_HOME=/usr/app/ WORKDIR $APP_HOME  COPY --from=TEMP_BUILD_IMAGE $APP_HOME/ . USER root RUN apt-get update # RUN apt-get install -y supervisor RUN apt-get install software-properties-common -y RUN apt-get install wget -y RUN wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz RUN tar -xzvf *.tar.gz ENV JAVA_VERSION="jdk-17.0.1" RUN mv $JAVA_VERSION /usr/local/share/ RUN rm *.tar.gz ENV JAVA_HOME=/usr/local/share/$JAVA_VERSION ENV PATH="$JAVA_HOME/bin:$PATH" EXPOSE 8080 #ENTRYPOINT exec java -jar $JAR_FILE ENTRYPOINT ["tail", "-f", "/dev/null"]  

Я знаю об образе openjdk, но в целях тестирования решил использовать ubuntu, чтобы посмотреть, что на самом деле произошло. И я увидел, что при сборке с использованием IDE появляется сборка (с папкой классов) и успешно выполняется. Но с докером, ничего в /usr/app, только папка сборки с библиотеками (conatin .jar) и temp, .jar выдает исключение (не найден класс SpringBootApplication в главном протекторе), когда cmd java -jar *.jar.