【发布时间】:2020-03-23 04:25:19
【问题描述】:
我正在尝试将带有战争包装的 Spring Boot 应用程序放入 docker 映像中。最简单的方法是使用以下 Dockerfile:
FROM adoptopenjdk/openjdk8:alpine-slim
VOLUME /tmp
COPY target/demo.war app.war
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.war"]
按照这种方法,我每次更改项目的源代码时都会创建一个大层。另一种方法是将战争拆分为不同的 docker 层,如本文所述:https://spring.io/blog/2018/11/08/spring-boot-in-a-container#a-better-dockerfile
但是,恐怕这只能通过 jar 包装而不是战争。我说的对吗?
提前致谢。
【问题讨论】:
-
你是对的......warfiles不是可执行的jar,需要部署到容器中。
-
使用 spring-boot 可以创建可执行的 Jar 和 War 文件:docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/…
标签: spring-boot docker war