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

问题描述:

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

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 run -t -p 8080:8080 --name app -d app 

在容器日志,唯一的输出是春天的旗帜,然后将容器终止。

我在这里错过了什么。

+0

后'泊坞窗events' – user2915097

+0

可以提供完整的日志'搬运工容器日志'? – yamenk

+0

使用'docker run -it -p 8080:8080 --name app app',这样你就可以明白它为何会死亡。 '-d'发送给后台 –

我没有找到任何理由使用anapsix/alpine-java:latest

我建议您使用大小的openjdk:8-jre-alpine,重量轻,少comparitively。

创建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 
+0

谢谢大家的回复。 Dockerfile没有问题,显然我的jar文件有问题。 – Siras