首页 > 解决方案 > Docker GO 构建返回一个非零代码:1

问题描述

构建 Docker 命令

sudo docker build -t gpst .

    ubuntu@ip-172-31-9-252:~/goyo/GO/goyo.in/gpstracker$ sudo docker build -t gpst。
    将构建上下文发送到 Docker 守护进程 1.819MB
    步骤 1/10:来自 golang:1.8
     ---> a8ef0d2260ca
    步骤 2/10:运行 mkdir -p /go/src/goyo.in/gpstracker
     ---> 使用缓存
     ---> 70f242e31c63
    步骤 3/10:工作目录 /go/src/goyo.in/gpstracker
     ---> 使用缓存
     ---> a1609e2d1463
    步骤 4/10:复制。/go/src/goyo.in/gpstracker
     ---> 2c90614f0f5b
    第 5/10 步:运行 go get github.com/codegangsta/gin
     ---> 在 aae1a6e5d8bc 中运行
     ---> e808aee68694
    移除中间容器 aae1a6e5d8bc
    第 6/10 步:运行 go-wrapper 下载 #"go get -d -v ./..."
     ---> 在 427b2c574de7 中运行
    + 执行去获取 -v -d
    github.com/go-playground/log(下载)
    github.com/go-playground/errors(下载)
    github.com/tidwall/tile38(下载)
    包 github.com/tidwall/tile38/client:在以下任何一个中都找不到包“github.com/tidwall/tile38/client”:
            /usr/local/go/src/github.com/tidwall/tile38/client(来自 $GOROOT)
            /go/src/github.com/tidwall/tile38/client(来自 $GOPATH)
    github.com/garyburd/redigo(下载)
    github.com/googollee/go-socket.io(下载)
    github.com/googollee/go-engine.io(下载)
    github.com/gorilla/websocket(下载)
    github.com/rs/cors(下载)
    github.com/jasonlvhit/gocron(下载)
    github.com/NaySoftware/go-fcm(下载)
    获取 https://golang.org/x/net/context?go-get=1
    从 https://golang.org/x/net/context?go-get=1 解析元标记(状态码 200)
    获取 "golang.org/x/net/context": 找到元标记 main.metaImport{Prefix:"golang.org/x/net", VCS:"git", RepoRoot:"https://go.googlesource.com /net"} 在 https://golang.org/x/net/context?go-get=1
    获取“golang.org/x/net/context”:验证非权威元标记
    获取 https://golang.org/x/net?go-get=1
    从 https://golang.org/x/net?go-get=1 解析元标记(状态码 200)
    golang.org/x/net (下载)
    获取 https://google.golang.org/grpc?go-get=1
    从 https://google.golang.org/grpc?go-get=1 解析元标记(状态码 200)
    获取 "google.golang.org/grpc": 找到元标记 main.metaImport{Prefix:"google.golang.org/grpc", VCS:"git", RepoRoot:"https://github.com/grpc/grpc -go"} 在 https://google.golang.org/grpc?go-get=1
    google.golang.org/grpc(下载)
    获取 https://golang.org/x/text/secure/bidirule?go-get=1
    从 https://golang.org/x/text/secure/bidirule?go-get=1 解析元标记(状态码 200)
    获取“golang.org/x/text/secure/bidirule”:找到元标记 main.metaImport{Prefix:"golang.org/x/text", VCS:"git", RepoRoot:"https://go.googlesource .com/text"} 在 https://golang.org/x/text/secure/bidirule?go-get=1
    获取“golang.org/x/text/secure/bidirule”:验证非权威元标记
    获取 https://golang.org/x/text?go-get=1
    从 https://golang.org/x/text?go-get=1 解析元标记(状态码 200)
    golang.org/x/text(下载)
    获取 https://golang.org/x/text/unicode/bidi?go-get=1
    从 https://golang.org/x/text/unicode/bidi?go-get=1 解析元标记(状态码 200)
    获取“golang.org/x/text/unicode/bidi”:找到元标记 main.metaImport{Prefix:"golang.org/x/text", VCS:"git", RepoRoot:"https://go.googlesource .com/text"} 在 https://golang.org/x/text/unicode/bidi?go-get=1
    获取“golang.org/x/text/unicode/bidi”:验证非权威元标记
    获取 https://golang.org/x/text/unicode/norm?go-get=1
    从 https://golang.org/x/text/unicode/norm?go-get=1 解析元标记(状态码 200)
    获取“golang.org/x/text/unicode/norm”:找到元标记 main.metaImport{Prefix:"golang.org/x/text", VCS:"git", RepoRoot:"https://go.googlesource .com/text"} 在 https://golang.org/x/text/unicode/norm?go-get=1
    获取“golang.org/x/text/unicode/norm”:验证非权威元标记
    github.com/golang/protobuf(下载)
    获取 https://google.golang.org/genproto/googleapis/rpc/status?go-get=1
    从 https://google.golang.org/genproto/googleapis/rpc/status?go-get=1 解析元标记(状态码 200)
    获取“google.golang.org/genproto/googleapis/rpc/status”:找到元标记 main.metaImport{Prefix:“google.golang.org/genproto”,VCS:“git”,RepoRoot:“https://github .com/google/go-genproto"} 在 https://google.golang.org/genproto/googleapis/rpc/status?go-get=1
    获取“google.golang.org/genproto/googleapis/rpc/status”:验证非权威元标记
    获取 https://google.golang.org/genproto?go-get=1
    从 https://google.golang.org/genproto?go-get=1 解析元标记(状态码 200)
    google.golang.org/genproto(下载)
    命令 '/bin/sh -c go-wrapper download # "go get -d -v ./..."' 返回非零代码:1

标签: dockergo

解决方案


由于错误代码 1 或 127 或任何都不是很容易解释,处理此类问题的通常方法是注意最后一层成功构建

Step 5/10 : RUN go get github.com/codegangsta/gin ---> Running in aae1a6e5d8bc ---> e808aee68694 Removing intermediate container aae1a6e5d8bc Step 6/10

这里是

e808aee68694

所以你启动

docker run -it e808aee68694 bash

现在你启动了最后一个失败的命令,应该更清楚为什么它失败了

go-wrapper download # "go get -d -v ./..."


推荐阅读