如何使用spring dev工具在docker中自动重新加载spring boot应用程序

Posted

技术标签:

【中文标题】如何使用spring dev工具在docker中自动重新加载spring boot应用程序【英文标题】:How to auto reload spring boot application in docker using spring dev tools 【发布时间】:2017-02-26 18:01:18 【问题描述】:

我按照link 将我的应用程序直接部署到本地 docker 并对其进行调试。 我能够部署和调试,但自动重新加载对我不起作用 你能帮我使用 spring 开发工具自动重新加载 docker 吗

我之所以对这种方式感兴趣,是因为我的应用程序与 5 个不同的服务通信并单独运行它们可能有点困难。因此将在 docker 上单独托管它们。

我现在的麻烦是我必须杀死容器,然后将其删除,然后重新添加新的容器,每次更改时我都必须这样做

我正在使用 Spring Boot 1.4 |智能 | Docker 和 Spring 开发工具

【问题讨论】:

【参考方案1】:

您应该添加新的运行/调试配置并选择 RemoteSpringApplication 作为 Main 类。此外,您应该将 Program arguments 设置为您的服务的 IP 地址(例如 http://localhost:8080)。还将 spring.devtools.remote.secret: mysecret 添加到您的应用程序属性中。 我的配置:

http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html#_running_the_remote_client_application

Spring boot 存在 RemoteSpringApplication 错误,不允许删除或添加新类。这将在 Spring Boot 1.4.3 中修复 https://github.com/spring-projects/spring-boot/issues/7379

【讨论】:

感谢您指出。我会尝试一下,让你知道这是否有效。 还可以查看这个 *** 答案:***.com/questions/42759587/…【参考方案2】:

另外,尝试添加这个插件:

./pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludeDevtools>false</excludeDevtools>
            </configuration>
        </plugin>
    </plugins>
</build>

【讨论】:

以上是关于如何使用spring dev工具在docker中自动重新加载spring boot应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Security 中自定义“错误凭据”错误响应?

如何在grails中自定义spring security插件登录页面

已解决 - 如何在 Spring 中自定义 WebSocket 升级请求的 HTTP 响应?

6.1 如何在spring中自定义xml标签

如何在 Spring Webflux 中自定义 Oauth2 的登录页面?

Spring validation中自定义的校验错误提示信息如何支持国际化