Spring Boot Scheduled任务在Docker容器上不工作

我的Docker容器上运行的Spring Boot项目有问题。 计划任务不工作,如果我运行容器作为demonized(docker运行-D )。 当我在后台运行图像非工作。 不幸的是,我必须把它运行成魔鬼,我不知道如何解决这个问题。 感谢您的任何解决scheme:)

我的计划注释: @Scheduled(fixedDelay = 1440000)

这是我的Dockerfile:

 FROM java:openjdk-8 ENV SPRING_PROFILES_ACTIVE dev,docker WORKDIR /app EXPOSE 9000 9000 RUN apt-get update && apt-get -y install cron RUN service cron start COPY build/libs/app.jar /app/app.jar CMD ["/bin/sh", "-c", "java -jar /app/app.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE"] 

当你作为一个恶魔运行容器时,你将不会直接在控制台中看到输出。 您可以使用docker日志来检查发生了什么。 实际上它独立于-d参数。

尝试将来自Spring文档的简约预定示例包装到图像中,并使用-d运行。

通过运行识别正在运行的容器标识

 docker ps 

然后收集使用的日志

 docker logs your-container-id 

您会看到计划的任务按预期工作。