首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring boot进行本地开发的Docker

使用spring boot进行本地开发的Docker
EN

Stack Overflow用户
提问于 2020-02-28 21:00:20
回答 1查看 269关注 0票数 0

我想在我的开发环境中使用docker和一个spring boot应用程序。

对于生产环境,我首先使用mvn package生成war文件,然后使用以下dockerfile构建镜像:

代码语言:javascript
复制
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。

如果有人能帮我指出正确的方向,我将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-05 06:34:11

我设法用Maven Docker image做到了这一点。使用卷映射源代码,并设置工作目录,以便Maven可以找到pom.xml。在您的docker-compose.yml中:

代码语言:javascript
复制
version: '3.1'
services:
  backend:
    image: maven:3.6.3-jdk-8
    command: mvn spring-boot:run
    ports:
      - 8080:8080
      - 8085:8085
    volumes:
      - .:/usr/src/mymaven:rw
    working_dir: /usr/src/mymaven

确保您的pom.xml中启用了引导工具

代码语言:javascript
复制
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <scope>runtime</scope>
  <optional>true</optional>
</dependency>

如果需要,启用远程调试器:

代码语言:javascript
复制
<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <version>2.0.3.RELEASE</version>
  <configuration>
    <jvmArguments>
      -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8085
    </jvmArguments>
  </configuration>
</plugin>

然后,您可以将代码编辑器attach到Docker容器:https://code.visualstudio.com/Docs/editor/debugging#_launch-versus-attach-configurations

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60452265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档