Проект весенней загрузки gradle в Docker с непрерывной сборкой - PullRequest
0 голосов
/ 31 января 2020

Я создал проект spring starter с gradle в качестве менеджера зависимостей, а также включающий spring-boot-dev-tools . Моя цель - создать изображение docker, чтобы при каждом изменении файла java в контейнере docker должна была быть прямая перезагрузка . Это хорошо работает со следующими конфигурациями.

Dockerfile

FROM gradle:5.6.2-jdk8
WORKDIR /app
COPY . /app
RUN gradle build
EXPOSE 8080
CMD ["sh", "start.sh"]

start. sh

#!/bin/bash
gradle --version
gradle build --continuous &
gradle bootRun

Это работает

Один из файлов моего контроллера выглядит следующим образом.

@RestController
public class MainController {
    @GetMapping("/")
    String test() {
        return "Test Success";
    }
}

Получение "Test Success" в браузере при переходе к localhost:8080. Когда файл /app/.../MainController.java внутри docker контейнера изменяется на return "Updated";, это изменение затрагивается автоматически.

Это проблема

Даже если в Dockerfile RUN gradle build, docker run команда с этим образом, кажется, снова загружает зависимости gradle из-за команды gradle build --continuous или gradle bootRun.

Я хочу docker run команда быстрая, как будто уже загружены все зависимости. Пожалуйста, предложите обходной путь. Требуется перезагрузка в реальном времени.

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