См. Основную проблему c в вашем dockerfile
:
Вы устанавливаете WORKDIR
, тогда в то время как COPY
вы сказали COPY
в /home/app
, поэтому, если вы установите WORKDIR
, тогда это означает, что любая команда RUN
, CMD
, ADD
, COPY
или ENTRYPOINT
будет выполнена в указанном рабочем каталоге.
Чтобы избежать путаницы, попробуйте следующее:
# Build Jar File
FROM maven:3.6.3-jdk-8-slim as stage1
WORKDIR /home/app
#COPY FROM PROJECT ROOT DIR TO WORKING ROOT DIR i.e: /home/app
COPY . .
RUN mvn -f /home/app/pom.xml clean package
# Create an Image
FROM openjdk:8-jdk-alpine
EXPOSE 8080
COPY --from=stage1 /home/app/target/myapp.jar myapp.jar
ENTRYPOINT ["java", "-jar", "myapp.jar"]
Попробуйте это:)
PS: После запуска контейнера, пожалуйста, сделайте exec
и проверьте, все ли детали проекта находятся в нужном каталоге или нет, и mvn build
строит банку с правильным именем или нет