docker中的spring引导应用程序立即终止
试图在docker中运行的简单spring引导应用程序,但在docker运行后,会立即退出。这是我的文件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
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文件有问题。我也面临同样的问题,你能告诉我你是如何解决的吗