【问题标题】:IntelliJ Idea: build and run Java apps in docker containersIntelliJ Idea:在 docker 容器中构建和运行 Java 应用程序
【发布时间】:2016-08-05 19:46:43
【问题描述】:

在我的项目中,我想将我的 Spring Boot 应用程序容器化,不仅在生产环境中,而且在本地。为了做到这一点,我想:

  1. 启动 docker 容器(从 java 映像)
  2. 在 IntelliJ Idea 中点击“运行”
  3. 在容器中构建应用程序(不使用我的本地机器编译器,而是使用容器中的编译器)
  4. 容器中运行应用程序

这种情况可能吗?我不想使用 Gradle 或 Maven 在容器中构建应用程序 - 我想告诉 IntelliJ Idea 使用内部 docker 容器 java 编译器,而不是我在本地拥有的编译器。

【问题讨论】:

  • 提问前有没有做研究?
  • 我发现这里提到的类似 (?) 案例:stackoverflow.com/questions/28931403/… 我也尝试利用 IntelliJ Docker 插件来实现目标,但它让我无处可去。
  • 我认为没有任何方法可以在容器中运行 IDE 的 Make 而无需在容器中运行整个 IDE,主要是因为没有人认为它会有用。
  • 您使用的 docker 错误。每个容器只做一件事,而且只做一件事,所以你不应该让应用程序/和/在同一个容器中运行它——你的运行时容器应该只安装 jre,而不是 jvm——你重新瞄准您可以获得的最小运行时间。使用 maven 以外的任何东西进行构建是一个坏主意——相比之下,即使 gradle 也是垃圾。供参考:stackoverflow.com/questions/36429949/…
  • @OrangeDog,如果这只是 java 版本的问题。如果项目设置为 8 并且很少有开发人员有 6 并且由于他们从事的其他项目而无法安装 8 怎么办?他们安装了多个 JDK 并更改了 JAVA_HOME 值?这不仅仅是 java 版本的问题,而是整个生态系统、环境变量、配置文件、证书等等。为什么不使用 docker 镜像来运行将所有这些东西与可以远程运行应用程序的 IDE 统一起来的容器?

标签: java intellij-idea docker spring-boot


【解决方案1】:

here 描述了可能有帮助的内容。基本上,您需要devtools 并在 docker 容器内运行 spring-boot 应用程序 - 不能通过 java -jar ... 完成 - 而是使用 maven 或 gradle 插件。然后使用 RemoteSpringApplication 类设置一个 java 应用程序配置,它应该可以工作。

很遗憾,我遇到了一些问题,请参阅this 问题。

【讨论】:

    猜你喜欢
    • 2019-04-02
    • 2022-11-23
    • 2023-03-07
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多