我正在迁移一些代码以使用 Go 1.11 模块,并且我能够从 shell 构建它,但不能在 Docker 中构建它。
相关的 Dockerfile 部分:
WORKDIR /goscout
COPY ["go.mod", "go.sum", "./"]
RUN GO111MODULE=on go get -u=patch
COPY *.go ./
RUN GO111MODULE=on go build -v -ldflags "-linkmode external -extldflags -static" -o GoScout -a .
当 Docker 运行上述摘录中的最后一个命令时,我收到此错误:
can't load package: package github.com/triplestrange/StrangeScout/goscout: unknown import path "github.com/triplestrange/StrangeScout/goscout": ambiguous import: found github.com/triplestrange/StrangeScout/goscout in multiple modules:
github.com/triplestrange/StrangeScout/goscout (/goscout)
github.com/triplestrange/StrangeScout v0.3.0 (/go/pkg/mod/github.com/triplestrange/!strange!scout@v0.3.0/goscout)
我没有在 shell 中得到这个,所以我猜我没有正确复制一些文件。但在此命令运行之前,我已经复制了go.mod
、go.sum
和*.go
,所以我不知道可能缺少什么。