docker中的Golang错误

在构build我的应用程序时,我在Docker中遇到了一个奇怪的错误:

./main.go:31:9: cannot use db (type *"github.com/khwerhahn/somerepo/vendor/github.com/jinzhu/gorm".DB) as type *"app/vendor/github.com/jinzhu/gorm".DB in argument to Migrate The command '/bin/sh -c go-wrapper install' returned a non-zero code: 2 

有人可以提示我进入正确的方向,因为本地的应用程序运行得很好。 它只是在docker集装箱内。 我用glide来pipe理依赖关系。

Dockerfile:

 FROM golang:1.9 WORKDIR /go/src/app COPY . . RUN go-wrapper download RUN go-wrapper install CMD ["go-wrapper", "run"] 

////编辑这是我的结构看起来如何。 Glidepipe理供应商文件夹。 dockerbuild设rest。

在这里输入图像说明

这是因为go getgo-wrapper download调用。 这将从远程获取依赖关系,而不是查看供应商文件夹。

如果您的库已经出售,并且代码位于vendor文件夹中,则您只需执行“ go run或“ go install

你为什么需要去包装呢?

 RUN glide install RUN go install WORKDIR "../bin" RUN myapp