我试图用Jetbrains Gogland和docker compose配置golang项目。我想使用GOPATH并从docker容器中取出。我的意思是使用容器中的go安装来进行自动完成等,而无需在本地机器上安装golang。 项目结构是:
project root
docker-compose.yml
back|
Dockerfile
main.go
some other packages
front|
all the front files...
之后,我想将back
文件夹部署到docker容器中的/go/src/app
。问题是,当我开发项目时,我不能使用自动完成功能,因为这个项目不在我的本地GOPATH中,并且在docker容器和我的本地机器上有不同的golang版本
我已经阅读了this个问题,但我仍然无法解决我的问题。
答案 0 :(得分:1)
目前这是不可能的。我也不知道将来怎么可能。在docker中安装卷意味着您从容器中“隐藏”该文件夹的内容,并使用主机上的文件。因此,只要您从计算机挂载目录,该计算机的容器文件将无法供计算机使用。这意味着您无法在容器中安装Go,然后安装文件夹并将该位置用于Go源。如果你在想:我只是把东西挂在另一个地方,做一些符号链接魔法/复制文件,这只是一个不好的想法导致无处。
Gogland支持几周前发布的EAP 10的远程调试。这允许您调试在容器或远程主机上运行的应用程序。因此,您可以在计算机上安装Go和源代码,但让它们在容器中运行。