[英]Spring Boot Scheduled task not working on docker container
我在docker容器上運行的Spring Boot項目有問題。 如果我按守護程序運行容器,則計划任務將無法正常工作(docker run -d )。 當我在后台運行非圖像時,一切正常。 不幸的是,我必須按照妖魔般的方式運行它,我也不知道如何解決該問題。 謝謝您的任何解決方案:)
我的計划注釋: @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
運行它。
通過運行來標識正在運行的容器ID
docker ps
然后使用收集日志
docker logs your-container-id
您將看到計划的任務按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.