medol-be/build/Dockerfile

21 lines
527 B
Docker

FROM golang:alpine as builder
WORKDIR /app
COPY go.* ./
RUN go get -v ./...
RUN go mod download
RUN go mod vendor
COPY . .
RUN apk update && apk add upx ca-certificates openssl && update-ca-certificates
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o /bin/api-binary ./main.go
RUN upx -9 /bin/api-binary
FROM gcr.io/distroless/static:nonroot
WORKDIR /app/
COPY --from=builder /bin/api-binary /bin/api-binary
COPY --from=builder --chown=nonroot /app/config /app/config
ENTRYPOINT ["/bin/api-binary"]