在主机上使用Delve / Goland在容器中调试Go进程

时间:2018-08-24 08:56:24

标签: docker go delve goland

在花费数小时进行尝试之前,我想问一下社区这是否有可能?

场景:

  • 在主机上运行Goland(可能是任何操作系统)
  • 在基于Alpine的容器中运行Go dev env
  • 映射到容器的主机卷上的代码

我可以将Goland调试器(Delve)附加到容器中的Go进程吗?我假设我可以无头运行在容器中并在主机上运行客户端,并打入所需的端口?如果主机不是linux,我会遇到二进制兼容性问题吗?

1 个答案:

答案 0 :(得分:1)

我宁愿不重复此答案中的整个帖子,而是看一下有关如何使用容器来运行您编写的https://blog.jetbrains.com/go/2018/04/30/debugging-containerized-go-applications/

应用程序的资源。

要专门回答此问题,只要在主机上安装了Go,应用程序源和所有依赖项,就可以在GoLand中进行开发,然后使用映射的卷,也可以从容器中运行它。

但是,此工作流程听起来更像是您通常使用VM而不是容器使用的工作流程,这就是为什么在上一篇文章中,所有运行/调试操作都是使用实际容器完成的,而不是使用容器内的bash来运行这些命令。