当前位置: 首页 > 面试题库 >

如何从Docker容器中检索GOPATH?

华衡
2023-03-14
问题内容

我的目标是每个项目都有一个独立的Go Workspace。

是否可以从正在运行的Docker容器中检索Go工作空间和Go环境变量,以供IDE或文本编辑器进行开发?

我已经尝试过使用go工具和依赖项将卷映射到容器。但这需要始终将GOPATH设置为当前工作空间,并且需要在主机上具有go工具和依赖项。


问题答案:

启动容器时,您至少可以设置并传递这些环境变量:

docker run -e "GOPATH=/a/mounted/path" -v [host-src:]container-dest --rm -it <yourImage>

通过使用-v,您可以允许主机与容器共享文件夹。



 类似资料:
  • 问题内容: 如果我有一个数据卷容器,并且我停止并删除了该容器(没有-v标志将删除该卷),是否仍然可以使用 孤立 卷启动一个新的数据卷容器?还是数据丢失了? 问题答案: 如果删除带但不带标志的容器,则主机上目录中的数据仍然可用。 要在新的Docker容器中使用孤立的卷,您可以从主机上挂载该目录,也可以将新的空卷附加到您的Docker容器中,然后同步数据。

  • 这个问题很像这样,但我还是有问题: 我做错了什么? Docker版本0.6.7,build CB48ECC Ubuntu 3.8.0-33-Generic#48~Precise1-Ubuntu

  • 我有一个运行在docker容器中的dotnet API。 我想从这个API访问执行容器的本地主机上的PostgreSQL数据库。在Windows上,我使用运行了这个连接到本地主机数据库的应用程序,但在linux上它不起作用。 我的连接字符串类似于: 我试图通过添加p来运行

  • 问题内容: 我面临以下问题:我创建了一个Jenkins Docker容器,并将主机上的Docker套接字与该容器链接。像这样: 然后,当我尝试在詹金斯上创建一些作业时,我收到通常的“权限被拒绝”消息: 尝试在unix:///var/run/docker.sock上连接到Docker守护程序套接字时获得的权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.29

  • 问题内容: 我想了解它们的配置,就像通过元数据获取有关EC2实例的信息一样。 我可以使用(假设正在侦听port ) 来获取它的一些数据,但是想知道是否有更好的方法,至少获取容器的完整ID,因为实际上缩短到了12个字符,而docker似乎对其执行了“最佳匹配”。 另外,如何获取docker主机的外部IP(除了访问EC2元数据(特定于AWS)之外) 问题答案: 我发现可以在/ proc / self

  • 由于Docker从引擎版本20.10开始支持cgroup v2,因此它将自动在启用了cgroups v2的发行版上使用它。从容器中获取唯一容器ID的已知解决方案不再有效。 尝试与docker v20.10.8在Debian 11与阿尔卑斯山:最新。 cgroup v1的工作解决方案:如何从容器本身中获取DockerLinux容器信息? 正如docker参考中所述,对于cgroup v2,容器id在