Есть много мест, где установка может пойти не так.Во-первых, я предлагаю определить, есть ли какие-либо проблемы в части Java или Spring, или это проблема, связанная с докером / окружением.Судя по этому вопросу, это похоже на Java, но на самом деле я подозреваю, что это не в java / spring.
Итак, mvn spring-boot:run
работает как положено, и я вижу, что вы упаковываете приложение весенней загрузки как jar (app.jar) скорее всего с плагином весенней загрузки.Это также место, где что-то может пойти не так, потому что весенняя загрузка использует специальный загрузчик классов для загрузки вещей во время выполнения.
Таким образом, чтобы полностью исключить часть «java / spring», перейдите в каталог target
и запустите java -jar app.jar
(конечно, убедитесь, что java 11 установлен на вашем локальном компьютере).Если это не сработает - исследуйте часть java / spring, в противном случае перейдите к части docker.
Скорее всего, приложение будет работать должным образом.
Теперь, как при настройке docker.Запустив docker compose и увидев, что он не работает,
Вы можете использовать следующие команды:
docker ps -a // -a flag to see container ids of containers that were stopped for whatever reason as well.
Теперь найдите Id завершившегося процесса Java и изучите его журналы:
docker logs <ID_OF_THE_EXTED_CONTAINER_GOES_HERE>
Теперь есть вероятность, что контекст приложения не запускается (может быть, проблема, связанная с сетью, или что-то в этом роде, здесь действительно трудно определить, не видя фактического журнала), и, следовательно, проблема.
ДругойВозможная проблема в том, что приложение «слишком тяжелое» (под этим я подразумеваю, что оно превышает некоторые квоты, наложенные на Docker-контейнер).
Вы можете запустить команду docker stats <CONTAINER_ID>
, чтобы увидеть ее использование памяти / процессора в режиме реального времени.или собирать метрики из приложения.