Горячая замена весенней загрузки с докером тома
Я пытаюсь использовать функцию горячей загрузки Spring Boot Devtools в образе Docker с использованием томов.
Основной класс выглядит следующим образом:
@RestController
@SpringBootApplication
public class ServiceOneApplication {
@RequestMapping("/")
public String home() {
return "Test";
}
public static void main(String[] args) {
SpringApplication.run(TestServiceApplication.class, args);
}
}
Dockerfile:
FROM openjdk:10-jre-slim
WORKDIR /test-service
COPY ./build/libs/test-service-0.0.1-SNAPSHOT.jar /test-service/test-service-0.0.1-SNAPSHOT.jar
CMD java -jar test-service-0.0.1-SNAPSHOT.jar
Я строю контейнер Docker с помощью следующей команды:
docker build -t test-service .
И запустите контейнер, используя следующее:
docker run -p 8080:8080 -v /Users/YOUR_USERNAME/IdeaProjects/test-service/build/libs:/test-service test-service
Когда образ докера запущен, я могу подключиться к localhost:8080 и отображается "Test".
Однако, если я изменяю строку "Test" на что-то другое и перестраиваю jar, я получаю следующую ошибку:
Exception in thread "http-nio-8080-exec-10" java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
Возможна ли горячая загрузка с томами Spring Boot и Docker?