docker中的spring引导应用程序立即终止

docker中的spring引导应用程序立即终止,docker,spring-boot,dockerfile,Docker,Spring Boot,Dockerfile,试图在docker中运行的简单spring引导应用程序,但在docker运行后,会立即退出。这是我的文件 FROM anapsix/alpine-java:latest VOLUME /tmp RUN mkdir -p /opt/app ADD app.jar /opt/app/app.jar EXPOSE 8080 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/opt/app/app.jar

试图在docker中运行的简单spring引导应用程序,但在docker运行后,会立即退出。这是我的文件

FROM anapsix/alpine-java:latest
VOLUME /tmp

RUN mkdir -p /opt/app
ADD app.jar /opt/app/app.jar
EXPOSE 8080

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/opt/app/app.jar"]
Docker运行命令

docker run -t -p 8080:8080 --name app -d app
在容器日志中,唯一的输出是spring横幅,然后容器终止


我在这里遗漏了什么。

我找不到任何理由使用
anapsix/alpine java:latest

我建议您使用
openjdk:8-jre-alpine
,重量轻,体积小

创建war文件而不是jar

使用以下命令

Dockerfile

FROM openjdk:8-jre-alpine

ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
    SLEEP_TIME=0 \
    JAVA_OPTS=""

# add directly the war
ADD *.war /app.war

EXPOSE 8080
CMD echo "The application will start in ${SLEEP_TIME}s..." && \
    sleep ${SLEEP_TIME} && \
    java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war

post
docker events
你能提供完整的日志吗
docker容器日志
?使用
docker run-it-p 8080:8080--name app app
,这样你就能知道它为什么会消亡<代码>-d将其发送到后台谢谢大家的回复。Dockerfile没有问题,显然我的jar文件有问题。我也面临同样的问题,你能告诉我你是如何解决的吗