【发布时间】:2020-06-12 14:09:19
【问题描述】:
我想在我的开发环境中将 docker 与 Spring Boot 应用程序一起使用。
对于生产,我首先使用mvn package 生成war 文件,然后使用此dockerfile 构建映像:
FROM tomcat:9.0-jre8-alpine
COPY target/backend-0.0.1-SNAPSHOT.war $CATALINA_HOME/webapps/api.war
但出于开发目的,我希望能够在编辑代码时检查我的更改,而不必重做 mvn package 然后构建映像然后运行容器。可以使用 spring boot devtools 观察对代码所做的更改,以便每次更改源代码时都会重新编译我的应用程序。
但后来我想使用图像,仍然使用 tomcat,并设置一个卷。但我不知道我必须观看哪些文件。是文件夹目标还是其中的某些特定文件?我将卷链接到图像中的哪个文件夹?我猜是 $CATALINA_HOME/webapps 之类的东西。
如果有人可以帮助我指出正确的方向,将不胜感激?谢谢。
【问题讨论】:
-
这里为什么要用Docker而不是你引用的原生Spring工具?
-
因为我在生产环境中使用 docker,所以为了保持一致性,我想在 dev 中使用 docker
-
使用本地构建的 Docker 映像运行集成测试很有意义。但是,如果您要部署到 Docker(或 AWS 或 Kubernetes)中,则没有要求您必须在相同的环境中进行所有开发。一个普通的本地 Java 构建环境将更容易用于日常工作。
标签: spring-boot docker tomcat docker-volume