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

时间:2017-08-26 06:45:08

标签: docker spring-boot dockerfile

尝试在docker中运行的简单spring启动应用程序,但是在docker运行后立即退出。这是我的Dockerfile

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横幅,然后容器终止。

我在这里遗漏了什么。

1 个答案:

答案 0 :(得分:0)

我没有找到任何理由使用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