Попытка получить работающее многоэтапное приложение Spring Boot Dockerfile.
Идея заключается в следующем:
- Сборка и упаковка проекта с помощью
mvn package
команда - Запустите встроенный файл .jar
После некоторых исследований я нашел эту статью. Он предоставляет полный Dockerfile, но он не работает для меня.
Я изменил исходный Dockerfile, и теперь он выглядит так:
FROM maven:3.6.2-jdk-8-slim AS MAVEN_BUILD
COPY pom.xml /build/
COPY src /build/src/
WORKDIR /build/
RUN mvn -Dmaven.test.skip=true package -Ptest # This line does not work properly
FROM openjdk:8-jre
WORKDIR /app
COPY --from=MAVEN_BUILD /build/target/platform-0.0.1.jar /app/
ENTRYPOINT ["java", "-jar", "platform-0.0.1.jar"]
Я создал docker-compose.yml
, который пытается построить этот Dockerfile:
[...]
api:
build:
context: .
dockerfile: Dockerfile
depends_on:
- mysql-db
ports:
- "8080:8085"
[...]
После выполнения команды docker-compose up --build -d
я всегда получаю эту ошибку:
Я что-то упустил?
Выполнение команды mvn -Dmaven.test.skip=true package -Ptest
в текущей папке проекта работает нормально ...