使用IntelliJ远程调试Docker容器

时间:2018-07-16 13:21:54

标签: docker intellij-idea docker-compose remote-debugging intellij-plugin

我有多个Docker容器(10),每个容器运行构成系统的Java服务。为了创建这些容器,我使用了两个docker-compose文件。使用IntelliJ的Docker Integration插件,我现在可以使用Docker-compose选项将这些服务假脱机到我的远程服务器(使用的图像是使用Gradle在IntelliJ外部构建的)。这是我为实现此目的而执行的步骤:

  1. 我使用Docker Machine选项添加了一个Docker服务器来连接到远程Docker守护程序(消息说Connection Successful)。
  2. 我使用服务器添加了一个新的Docker Compose配置,指定了我的compose文件以及要启动的服务。

现在,我已经通过IntelliJ控制了系统,我一直在试图弄清楚如何将远程调试器附加到这些服务中的每一个上,以便IntelliJ达到我的断点。

我是否需要将JVM args(-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005)添加到每个服务(容器)并为每个服务添加通常的远程调试配置?每个服务都需要使用不同的地址吗?如果是这样,如何添加这些参数?当然,有了Docker Integration插件,有一种更简单的方法可以做到这一点。

IntelliJ Idea v2018.1.5(社区版)

Docker集成v181.5087.20

0 个答案:

没有答案