【发布时间】:2018-08-24 08:56:23
【问题描述】:
在我花费数小时尝试之前,我想问问社区这是否可能?
场景:
- 在主机上运行 Goland(可以是任何操作系统)
- 在基于 Alpine 的容器中运行 Go 开发环境
- 映射到容器的主机卷上的代码
我可以将 Goland 调试器 (Delve) 附加到容器中的 Go 进程吗?我假设我可以在无头容器中运行 delve 并在主机上运行客户端,打孔所需的任何端口?如果主机不是 linux 会不会出现二进制兼容性问题?
【问题讨论】:
在我花费数小时尝试之前,我想问问社区这是否可能?
场景:
我可以将 Goland 调试器 (Delve) 附加到容器中的 Go 进程吗?我假设我可以在无头容器中运行 delve 并在主机上运行客户端,打孔所需的任何端口?如果主机不是 linux 会不会出现二进制兼容性问题?
【问题讨论】:
我不想在这个答案中复制整个帖子,而是看看这个资源,了解如何使用容器来运行你编写的应用程序https://blog.jetbrains.com/go/2018/04/30/debugging-containerized-go-applications/
为了具体回答这个问题,只要您在主机上安装了 Go、应用程序源和所有依赖项,您就可以在 GoLand 中进行开发,然后使用映射卷,您也可以从容器中运行它。
但是,这个工作流程听起来更像是您通常使用虚拟机而不是容器的工作流程,这就是为什么在上面的文章中所有运行/调试都是使用实际容器完成的,而不是使用容器内的 bash 来运行那些命令。
【讨论】: