Это была проблема # 26610 , которая исправлена.
Так что теперь вы можете просто использовать:
go mod download
Чтобы это работало, вам нужны только файлы go.mod
/ go.sum
.
Например, вот как сделать кэшированную многоступенчатую сборку Docker:
FROM golang:1.12-alpine as builder
RUN apk --no-cache add ca-certificates git
WORKDIR /build/myapp
# Fetch dependencies
COPY go.mod ./
RUN go mod download
# Build
COPY . ./
RUN CGO_ENABLED=0 go build
# Create final image
FROM alpine
WORKDIR /root
COPY --from=builder /build/myapp/myapp .
EXPOSE 8080
CMD ["./myapp"]