Private module を含む go サーバの Dockerfile
FROM golang as builder ENV GOFLAGS=-mod=vendor WORKDIR /work COPY go.* ./ RUN go mod download COPY . ./ RUN CGO_ENABLED=0 GOOS=linux go build -mod=readonly -v -o app FROM alpine:latest RUN apk --no-cache add ca-certificates COPY --from=builder /work/app /app CMD ["/app"]
事前に go mod vendor しておき、 ENV GOFLAGS=-mod=vendor
を付与することで private リポジトリを get しようとしない。
参考: github.com