当前位置: 首页 > 知识库问答 >
问题:

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

狄元魁
2023-03-14

试图在docker中运行的简单Spring Boot应用程序,但在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横幅,然后容器终止。

我错过了什么吗?

共有1个答案

萧星火
2023-03-14

我找不到任何理由使用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
 类似资料:
  • 一调用方法,我的计时器应用程序就崩溃了,它显示的对象引用为空,尽管我做得正确,但我找不到问题。请,某人,看看下面的代码:(我也附上logcat) 原因:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.os.CountDownTimer.Cancel()”

  • 这是我使用SpringBoot的第一天,我试图理解体系结构,因此我开始构建一个hello world应用程序: 在我的pom.xml中,在maven-shade-plugin下,我将mainClass声明如下: 文件目标是src/main/java/com/demo/helloworld.java,该文件中的代码是: 我错过了什么?

  • 我需要在Spring-boot应用程序中使用默认的ObjectMapper作为单个实例。我是否可以简单地在应用程序内部@autowire ObjectMapper(在Spring-boot应用程序中默认创建的实例)而不创建@bean(因为我不想更改ObjectMapper的任何功能) https://docs.spring.io/spring-boot/docs/current/reference

  • 内部没有任何签名配置。

  • 我在我的工作区中使用STS IDE运行了几个Spring Boot应用程序,在我对其中一个项目进行maven更新后,每个项目都在应用程序启动过程后立即停止。我甚至创建了一个最小的例子,只是为了开始一些事情,同样的事情发生了。 这是我的pom.xml 即使是那些入门示例也会在启动后立即停止。我会非常感谢这里的一些帮助。 编辑:正如Alexandru Marina在评论中所说,我使用的是快照而不是稳定

  • 问题内容: 我正在尝试在Docker容器中运行.net core 1.0.0控制台应用程序。 当我从计算机上的Demo文件夹中运行命令时,它可以正常工作;但是当使用运行时,容器会立即退出。 我试图检查日志,它只是显示Console.WriteLine中的文本: 演示应用正在运行… 没什么 我已经将项目上传到https://github.com/learningdockerandnetcore/De