Springboot jar работает, но не внутри контейнера Docker - PullRequest
0 голосов
/ 05 июня 2018

Я недавно докеризовал проект maven / springboot.Он отлично работает вне docker, и даже запускается в контейнере Docker, но как только я пытаюсь взаимодействовать с приложением, я получаю java.lang.ClassNotFoundException.

Насколько я понимаю, это связано с classpath, но почему jar запускается локально, а не в контейнере docker?

Отсутствующий класс принадлежит внешнему файлу jar, которыйнаходится в структуре каталога проекта и указан в pom.xml как зависимость:

    <dependency>
        <groupId>externalJar</groupId>
        <artifactId>externalJar</artifactId>
        <version>0.0.1</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/resources/library/externalJar.jar</systemPath>
    </dependency>

Вот мой dockerfile:

FROM openjdk:8-alpine

RUN apk update && apk add bash

RUN mkdir -p /opt/app
ENV PROJECT_HOME /opt/app

COPY target/main.jar $PROJECT_HOME/main.jar

WORKDIR $PROJECT_HOME
EXPOSE 8282

CMD ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","./main.jar"]

Чего мне не хватает?

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