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
This commit is contained in:
Will Norris
2021-07-27 23:02:12 -07:00
parent 874627749a
commit e59616150a
2 changed files with 18 additions and 8 deletions

View File

@@ -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"]

View File

@@ -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