Reputation: 3803
I try to import this package using the go Docker image.
From the docs of the package, the command to run is:
go get gopkg.in/olivere/elastic.v3
Works, fair enough.
I need to do the same with the docker image:
docker run -v $PWD:/temp -w /temp -e GOPATH=$PWD -e GOBIN=$PWD/bin golang:latest go get gopkg.in/olivere/elastic.v3
But I got the following error:
package golang.org/x/net/context: unrecognized import path "golang.org/x/net/context" (https fetch: Get https://golang.org/x/net/context?go-get=1: dial 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 path "golang.org/x/net/context/ctxhttp" (https fetch: Get https://golang.org/x/net/context/ctxhttp?go-get=1: dial tcp: lookup golang.org on 192.168.65.1:53: read udp 172.17.0.2:44687->192.168.65.1:53: i/o timeout)
Why is that?
Upvotes: 2
Views: 1975
Reputation: 3803
For those who will be looking at this question, I managed to find a solution.
My GOPATH
and GOBIN
have been wrongly set. I should have used the go directory inside the docker container.
The command then becomes:
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
For some reasons, it solved the DNS issue. I still don't understand why, but if I stumble on an explanation, I'll update here.
Upvotes: 2