docker сервер не может найти основной класс - PullRequest
0 голосов
/ 13 января 2020

У меня проблема с работающим приложением spring-boot + mysql + реаги js, которое работает (я проверил его, прежде чем пытаться развернуть на docker).

Когда я даю команду "docker -compose up -d", она работает, я могу видеть контейнеры, я могу получить доступ к веб-интерфейсу, но любые запросы, сделанные в бэкэнде / сервере, отклоняются.

Я просмотрел журналы сервера и получил ошибку: Error: Could not find or load main class com.example.springdemo.SpringDemoApplication

Мой dockerfile:

#### Stage 1: Build the application
FROM openjdk:8-jdk-alpine as build

# Set the current working directory inside the image
WORKDIR /app

# Copy maven executable to the image
#COPY mvnw .
#COPY .mvn .mvn

# Copy the pom.xml file
COPY pom.xml .

# Build all the dependencies in preparation to go offline. 
# This is a separate step so the dependencies will be cached unless 
# the pom.xml file has changed.
#RUN ./mvnw dependency:go-offline -B

# Copy the project source
COPY src src

# Package the application
#RUN ./mvnw package -DskipTests
#RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)

#### Stage 2: A minimal docker image with command to run the app 
FROM openjdk:8-jre-alpine

#ARG DEPENDENCY=/app/target/dependency

# Copy project dependencies from the build stage
#COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
#COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
#COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app

ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.springdemo.SpringDemoApplication"]

Я проверил, и путь к основному есть правильно . Я понятия не имею, почему он не находит основной класс.

Код внутреннего кода находится по адресу: https://github.com/Diana-Ioana/docker_app вместе с файлом docker -compose.yml и файлом Docker для внутреннего интерфейса. Я использую docker toolbox (не docker рабочий стол, у меня WIN 10 HOME)

1 Ответ

0 голосов
/ 13 января 2020

Из того, что я вижу, вы копируете только источники, поэтому, хотя все пути правильны, нет ничего, что вызывало бы "java" (его следует вызывать для .class или .jar, если указан -jar).

Если вы новичок в докере / пружинной загрузке, у Spring io есть очень хорошее руководство по запуску пружинной загрузки в docker, поэтому стоит проверить: Spring Boot с Docker

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