首页 文章

使用Docker获取包超时 - “golang.org/x/net/context/ctxhttp”

提问于
浏览
1

我尝试使用go Docker image导入package .

从包的文档中,运行的命令是:

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

但我收到以下错误:

package golang.org/x/net/context:无法识别的导入路径“golang.org/x/net/context”(https fetch:获取https://golang.org/x/net/context?go-get=1 :拨打tcp:lookup golang.org on 192.168.65.1:53:read udp 172.17.0.2:46904->192.168.65.1:53:i / o timeout)package golang.org/x/net/context/ctxhttp:unrecognized import路径“golang.org/x/net/context/ctxhttp”(https fetch:获取https://golang.org/x/net/context/ctxhttp?go-get=1:拨打tcp:lookup golang.org on 192.168 .65.1:53:读取udp 172.17.0.2:44687->192.168.65.1:53:i / o超时)

这是为什么?

1 回答

  • 1

    对于那些将会看到这个问题的人,我设法找到了解决方案 . 我的 GOPATHGOBIN 设置错误 . 我应该使用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问题 . 我仍然不明白为什么,但如果我偶然发现一个解释,我会在这里更新 .

相关问题