Files
rither/Dockerfile.multistage
2025-10-24 22:00:41 +05:00

26 lines
390 B
Docker

FROM golang:1.25.3 AS build-stage
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY *.go ./
RUN CGO_ENABLED=0 GOOS=linux go build -o /srv.bin
from build-stage AS run-tests-stage
RUN go test -v ./
FROM gcr.io/distroless/base-debian11 AS build-release-stage
WORKDIR /
COPY --from=build-stage /srv.bin /srv.bin
EXPOSE 8080/tcp
USER nonroot:nonroot
ENTRYPOINT ["/srv.bin"]