我尝试使用go package导入此Docker image。
在软件包的文档中,要运行的命令是:
go get gopkg.in/olivere/elastic.v3
可行,足够公平。
我需要对docker镜像执行相同的操作:
docker run -v $PWD:/temp -w /temp -e GOPATH=$PWD -e GOBIN=$PWD/bin golang:latest go get gopkg.in/olivere/elastic.v3
但是我遇到了以下错误:
这是为什么?
最佳答案
对于那些将要研究这个问题的人,我设法找到了解决方案。
我的GOPATH
和GOBIN
设置错误。我应该使用docker容器内的go目录。
该命令将变为:
docker run --rm -v $PWD:/t -w/t -e GOPATH=/t -e GOBIN=/t/bin golang:latest go get -v gopkg.in/olivere/elastic.v3
由于某些原因,它解决了DNS问题。我仍然不明白为什么,但是如果我偶然得到一个解释,我将在这里进行更新。
关于go - 使用Docker获取程序包超时- “golang.org/x/net/context/ctxhttp”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40651554/