файл jar gradle с файлом конфигурации yml не выполняется из файла докеров - PullRequest
2 голосов
/ 10 июля 2020

Я хочу запустить сборку gradle внутри контейнера, а затем выполнить jar с его файлом конфигурации и параметрами сервера. Это то, что у меня есть

WORKDIR /app
COPY . /app


RUN  chmod +x gradlew  \
  && gradle build

COPY config/*.yml build/libs

RUN cd build/libs \
  && ls -la
  

EXPOSE 8081

ENTRYPOINT ["java", "-jar", "/app/build/libs/app.jar", "-Dconfig.location=app/build/libs/config.yml", "-Dgrails.env=prod"]

Я вижу, что и файл yml, и файл jar находятся в папке build libs, но когда я создаю файл dockerfile, я получаю сообщение об отсутствии файла yml. Когда я переупорядочиваю их и помещаю расположение конфигурации перед файлом jar, он находит конфигурацию, но не выполняет файл jar. Когда я намеренно указываю неправильный путь к файлу jar, я получаю сообщение об ошибке, что jar не найден.

После запуска docker я получаю

    Configuring Spring Security Core ...
... finished configuring Spring Security Core Configuring Spring Security REST 2.0.0.RC1...
... finished configuring Spring Security REST

И все. Хотя я работаю локально, я также получаю «приложение работает ...». Любая помощь приветствуется!

1 Ответ

0 голосов
/ 10 июля 2020

Я не могу оставить комментарий, так как я новичок ie.

Я вижу, что вы находитесь в build / libs, когда запускаете-

RUN cd build/libs

Тогда ваша команда ENTRYPOINT используя относительный путь для расположения конфигурации -

"-Dconfig.location=app/build/libs/config.yml"

Вы можете попробовать начать расположение с «/ app» вместо «app».

Кроме того, если это не помогает, можете ли вы вставьте точные ошибки, которые вы получаете в 2 сценариях ios, которые вы упомянули?

...