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