簡體   English   中英

Spring Boot Scheduled任務不適用於Docker容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM