Docker 集成允许您直接从 IntelliJ IDEA 构建或拉出 Docker 镜像,并且运行 Docker 容器。您可以使用特殊运行配置在 Docker 容器中运行应用程序,并查看它在与生产相同的环境中的行为方式。
但调试呢?
从 2019.1 版起,您可以直接从 IntelliJ IDEA 调试运行在 Docker 容器中的 Java 应用程序。运行在 Docker 容器中的应用程序作为远程应用程序对待,因此可以将调试器附加其上。IntelliJ IDEA 包含用于远程调试的特殊运行/调试配置类型。
创建一个远程调试配置并为其添加一个特殊的启动前 (Before launch) 任务:调试前启动 Docker (Launch Docker before debug),它定义了您希望运行和附加到的 Docker 配置。
现在,每次运行远程调试配置时,它都将根据 Docker 运行配置设置运行容器,然后将调试器附加到容器中的应用程序。当它到达断点时,调试器将停止并让您分析应用程序的当前状态,就像正常的调试会话一样。
这可以用于任何类型的 Docker 运行配置:无论是基于构建的 Docker 镜像、Dockerfile 还是 Docker Compose 文件。
有关在 Docker 容器中远程调试的更多信息以及带示例的教程,请参阅 Intell