试图在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横幅,然后容器终止。
我错过了什么吗?
我找不到任何理由使用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