From e59616150a456f4f3d46e054028ecaf01edc64f5 Mon Sep 17 00:00:00 2001 From: Will Norris Date: Tue, 27 Jul 2021 23:02:12 -0700 Subject: [PATCH] fix building docker image Use go modules instead of dep. Use two stage build to build a minimal (4 MB) application image. Fixes #51 #71 #78 --- Dockerfile | 24 +++++++++++++++++------- README.md | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index e60bdef..39ef329 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,20 @@ -FROM golang:1-alpine AS build-env +FROM golang:1.16 AS build -RUN apk add --no-cache --upgrade git openssh-client ca-certificates -RUN go get -u github.com/golang/dep/cmd/dep -WORKDIR /go/src/app +WORKDIR /app -# Install -RUN go get -u github.com/google/addlicense +COPY go.mod go.sum ./ +RUN go mod download -ENTRYPOINT ["addlicense"] +# copy source and build +COPY . . +RUN CGO_ENABLED=0 GOOS=linux go build . + + +# make a bare minimal image +FROM scratch + +# source to be scanned should be mounted to /src +WORKDIR /src +COPY --from=build /app/addlicense /app/addlicense + +ENTRYPOINT ["/app/addlicense"] diff --git a/README.md b/README.md index 6c0d5be..085275a 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ docker run -it google/addlicense -h - Usage example ```bash -docker run -v ${PWD}:/go/src/app/ -it google/addlicense -c "Google LLC" *.go +docker run -v ${PWD}:/src -it google/addlicense -c "Google LLC" *.go ``` ## license