Я перенесу некоторый код для работы с модулями Go 1.11 и могу собрать его из оболочки, но не из 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)
Я не получаю это в оболочке, поэтому я предполагаю, что не копирую некоторые файлы правильно.Но перед запуском этой команды я скопировал go.mod
, go.sum
и *.go
, поэтому я не знаю, что может отсутствовать.