Add .dockerignore and adjust Dockerfile

This commit is contained in:
Ian Molee 2024-04-08 18:08:15 -07:00
parent 52373cff45
commit 3eec47c0b0
2 changed files with 19 additions and 6 deletions

5
.dockerignore Normal file
View File

@ -0,0 +1,5 @@
*.log
output.*.txt
.vscode
files
files.*/

View File

@ -1,11 +1,19 @@
ARG bin_name=docgrouper
FROM golang:1.22 as builder
WORKDIR /go/src/docgrouper
COPY testdata testdata/
COPY *.go go.mod go.sum ./
ARG bin_name
WORKDIR /go/src/$bin_name
COPY . .
RUN go mod download
RUN go test -v ./... && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o docgroup
RUN go test -v ./... && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $bin_name
FROM gcr.io/distroless/base-nossl-debian12
COPY --from=builder /go/src/docgrouper/docgrouper /bin/docgrouper
ARG bin_name
COPY --from=builder /go/src/${bin_name}/${bin_name} /bin/${bin_name}
VOLUME [ "/files" ]
ENTRYPOINT [ "docgroup" ]
# ARGs are stupid and cannot be used in ENTRYPOINT, so we still have to
# hard-code the binary name here, but this is still better than having to
# hard-code it in the stages above, since it doesn't really matter much what the
# entrypoint is called.
ENTRYPOINT [ "docgrouper" ]