簡體   English   中英

如何防止docker java spring 啟動應用程序在計划任務完成后退出?

[英]How to prevent docker java spring boot application exited after scheduled task completed?

我有一個 Java Spring 啟動應用程序,其中包含 controller 個端點和一個計划任務。 計划任務安排在每個午夜。 我為此應用程序使用 docker-compose up -d,它運行沒有問題。

然而,在計划任務完成后 docker 圖像以代碼 1 退出並且沒有任何錯誤日志。 我認為 docker 認為進程在計划任務后完成,但由於它也用作 web 應用程序,因此不應退出。

計划任務完成后,有沒有辦法防止 docker 圖像退出?

這是我的 DockerFile:

FROM maven:3.6.3-jdk-11-slim AS MAVEN_BUILD
#FROM maven:3.5.2-jdk-8-alpine AS MAVEN_BUILD FOR JAVA 8

ARG SPRING_ACTIVE_PROFILE

MAINTAINER bugurs

COPY pom.xml /build/

COPY src /build/src/

WORKDIR /build/

RUN mvn clean install && mvn package -B -e

FROM openjdk:11-slim

#FROM openjdk:8-alpine FOR JAVA 8

WORKDIR /app

EXPOSE 8000

COPY --from=MAVEN_BUILD /build/target/*.jar /app/appdemo.jar

ENTRYPOINT ["java", "-jar", "appdemo.jar"]

如果你的應用程序是基於 springboot 那么它不會存在使用低於 dockerfile 但如果它的簡單 java 程序那么你讓它保持活動可能是無限循環直到進程獲得終止信號。

Dockerfile

COPY ./startApp.sh .
RUN chmod a+x ./startApp.sh

啟動應用程序sh

 #!/bin/sh
 java -jar ./appname.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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