Docker Compose получает исключение - PullRequest
1 голос
/ 16 мая 2019

У меня есть приложение с загрузочной пружиной, которое я развернул в докер-контейнере, все работает нормально, но я хочу развернуть и запустить приложение в док-контейнере с помощью docker compose.

Это мой DockerFile

FROM java:8
VOLUME /tmp
COPY /target/order-0.0.1-SNAPSHOT.jar order.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/order.jar"]

Шаг 1: - Создан фляга с чистой упаковкой mvnШаг 2: - сборка докера -t порядокШаг 3: - Docker запустить -it -d -p 8080: 8080

Здесь все работает нормально

Но если я не выполню шаг 1 и захочу развернуть приложение в контейнере с помощью docker-compose.

При попытке выполнить docker-compose я получаю исключение /target/order-0.0.1-SNAPSHOT.jar не найден

Как выполнить команду mvn package в docker-compose?

Есть ли другой способ добиться этого?

Это мой docker-compose.yml

version: '3'
services:
  order:
    restart: always
    build: ./order
    working_dir: /order
    volumes:
      - /tmp:/logs
    expose:
      - "8080"

1 Ответ

0 голосов
/ 16 мая 2019

попробуй с этим Dockerfile

FROM maven:alpine AS build
COPY src /home/app/src
COPY pom.xml /home/app 
RUN mvn -f /home/app/pom.xml clean package


FROM openjdk:alpine
COPY --from=build /home/app/target/*.jar /usr/local/lib/demo.jar
ENTRYPOINT ["java","-jar","/usr/local/lib/demo.jar"]  

если вы получаете сообщение об ошибке типа Невозможно выполнить jar-файл: «нет основного атрибута манифеста»
заменить последнюю команду

ENTRYPOINT ["java","-cp","/usr/local/lib/demo.jar","com.packagename.classnamewithoutextension"]
...