-1

我有一个简单的 Dockerfile,我正在尝试构建和运行我的 Go REST API 服务器。

到目前为止,我的 Dockerfile 是:

FROM golang:latest
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

当我运行 docker-compose up 我得到这个错误:

main.go:12:2: cannot find package "github.com/bradfitz/gomemcache/memcache" in any of:

我正在使用 godeps 并且我的供应商文件夹中包含了所有的库,为什么在这种情况下构建不起作用?

我必须告诉它在供应商文件夹中查找吗?

4

1 回答 1

1

如果您的源代码位于外部(请参阅https://github.com/golang/go/issues/14566) ,则该vendor目录不会按预期运行。在当前的Docker 映像中,设置为,因此最简单的解决方案是将您的代码复制到的子目录中并从那里构建。GOPATHgolang:latestGOPATH/go/go/src

于 2018-09-06T04:30:29.883 回答